1. 程式人生 > >SqlSessionFactory和SqlSession的生命週期以及實現

SqlSessionFactory和SqlSession的生命週期以及實現

SqlSessionFactory和SqlSession作為MyBatis技術部分的關鍵物件,他們的生命週期和實現到底是怎樣的呢

  • SqlSessionFactory

SqlSessionFactory一旦被建立,SqlSessionFactory應該在你的專案執行期間都存在。沒有理由來處理或重新建立它,最簡單的就是使用單例模式或者靜態單例模式。最好使用框架,依賴注入容器,比如Google Guice或Spring。這樣的框架允許你建立支援程式來管理單例SqlSessionFactory的生命週期。

  • SqlSession 

至於SqlSession,每個執行緒都應該有它自己的SqlSession例項。SqlSession的例項不能被共享,也是執行緒不安全的。因此最佳的範圍是請求或方法範圍。絕對不能將SqlSession例項的引用放在一個類的靜態欄位甚至是例項欄位中。

理解不深,海涵。