MyBatis核心Api
上次簡單的寫了一個MyBatis的簡介以及編寫了一個MyBatis的入門程序,但是在入門程序中出現多很多比較陌生的詞,比如SqlSessionFactoryBuilder、SqlSessionFactory等,
那這些單詞到底代表什么意思呢,本篇文章將為你詳細的講解這些單詞的作用
SqlSessionFactoryBuilder:
- SqlSessionFactoryBuilder用於創建SqlSessionFacoty
- SqlSessionFacoty一旦創建完成就不需要SqlSessionFactoryBuilder了
- 因為SqlSession是通過SqlSessionFactory創建的
- 所以可以將SqlSessionFactoryBuilder當成一個工具類使用,最佳使用范圍是方法范圍即方法體內局部變量。
SqlSessionFactory:
- 創建sqlSession的工廠,是一個接口
- 接口中定義了openSession的不同重載方法
- SqlSessionFactory的最佳使用范圍是整個應用運行期間,一旦創建后可以重復使用,通常以單例模式管理SqlSessionFactory。
SqlSession:
- 連接到數據庫的一個會話。
- sqlSession中定義了數據庫操作方法。
- 每個線程都應該有它自己的SqlSession實例
- SqlSession的實例不能共享使用,它也是線程不安全的。因此最佳的范圍是請求或方法范圍
- 絕對不能將SqlSession實例的引用放在一個類的靜態字段或實例字段中。
MyBatis架構: