cari

Rumah  >  Soal Jawab  >  teks badan

java - Mybais 会话session是否公用

问题:使用mybatis时,一个sqlsessionfactory.opensession的方法,能否同时兼容多个dao的操作
例如,我在pojo a 的dao,aDAO的插入操作中,实例化了一个session,
SqlSession session = sqlSessionFactory.openSession();
ADAO aDAO = session.getMapper(ADAO.class);
此时由于我要同时对pojo b进行一些操作,那么我可不重新实例化新的session,而是直接使用之前实例的session a
BDAO bDAO = session.getMapper(BDAO.class)

如果可以这么操作的话,请问有什么限制(因为如果是删除,增加,更新的操作的话,是需要提交会话的,而查询不需要)

ringa_leeringa_lee2859 hari yang lalu674

membalas semua(3)saya akan balas

  • 迷茫

    迷茫2017-04-17 18:00:32

      Jika kelas
    1. digunakan untuk mengurus

      dalam mybatisSqlSessionManagerSession, setiap urutan adalah Session

    2. biasa
    3. mybatis-springDalam pemalam bersepadu ini, pernyataan pertanyaan/kemas kini yang tidak mendayakan urus niaga sepadan dengan Session Jika transaksi didayakan, pertanyaan/kemas kini dalam transaksi ini semua berkongsi Session

    4. dalam

      mybatisExecutor tidak selamat untuk benang, jadi Session

    5. hanya boleh digunakan semula dalam satu urutan paling banyak.

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 18:00:32

    Sudah tentu, satu sesi boleh mengendalikan berbilang DAO (termasuk tambah/padam/ubah suai/semak Sudah tentu, operasi DAO ini mesti memenuhi ciri-ciri transaksi apabila sesi diserahkan/digulung semula: sama ada semua pengubahsuaian berjaya). atau kesemuanya gagal. Satu-satunya sekatan ialah: kerana mereka berada dalam sesi yang sama, DAO ini mesti mengakses Pangkalan Data yang sama.

    balas
    0
  • 大家讲道理

    大家讲道理2017-04-17 18:00:32

    Ya, kecuali seperti yang dinyatakan di atas, dao ini mengakses pangkalan data yang sama, sila ambil perhatian bahawa sesi itu tidak selamat untuk thread

    balas
    0
  • Batalbalas