MyBatis(四):SqlSession及其工廠類的作用域和生命周期


本文是按照狂神說的教學視頻學習的筆記,強力推薦,教學深入淺出1便就懂!b站搜索狂神說即可

https://space.bilibili.com/95256449?spm_id_from=333.788.b_765f7570696e666f.2

 

SqlSession及其工廠類的作用域和生命周期

  • SqlSession創建流程:

 

 

  1. 使用SqlSessionFactoryBuilder創建SqlSessionFactory。

  2. 使用SqlSessionFactory創建SqlSession。

  3. SqlSession可以通過Sql Mapper.class進行數據庫操作,或者直接使用SqlSession的方法輸入SqlMapper.方法()進行數據庫操作,使用完要關閉。

SqlSessionFactoryBuilder

  • 就是SqlSessionFactory的建造器,典型的工廠模式。

  • 創建后就不再需要了,因為就是為了創造SqlSessionFactory的工具類。

  • 作用域:局部變量

SqlSessionFactory

  • 類似DBCP的連接池。創建就應該一直存在,沒有任何理由丟棄它或重新創建另一個實例。因此應該使用單例模式或靜態單例模式來創建。

  • 作用域:應用作用域(Application)程序運行就創建,程序關閉才釋放。

SqlSession

  • 類似JDBC的一個Connection對象。因此每次使用完就應該要關閉,這樣才能回收到SqlSessionFactory中繼續利用,而且SqlSession不是線程安全的,不能被共享。

  • 作用域:請求或方法。

  • 盡量使用finally塊中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM