java - Mybais 会话session是否公用
ringa_lee
ringa_lee 2017-04-17 17:58:32
0
3
643

问题:使用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_lee
ringa_lee

ringa_lee

membalas semua(3)
迷茫
    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.
洪涛

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.

大家讲道理

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan