MyBatis-核心Api
原创
©著作权归作者所有:来自51CTO博客作者一个爱听音乐的程序员的原创作品,请联系作者获取转载授权,否则将追究法律责任
SqlSessionFactoryBuilder
-
SqlSessionFactoryBuilder
用于创建SqlSessionFacoty
。 -
SqlSessionFacoty
一旦创建完成就不需要SqlSessionFactoryBuilder
了。 - 因为
SqlSession
是通过SqlSessionFactory
创建的。 - 所以可以将
SqlSessionFactoryBuilder
当成一个工具类来进行使用,最佳使用范围是方法范围
即方法体内的局部变量
。
SqlSessionFactory
- 创建
sqlSession
的工厂,是一个接口。 - 接口中定义了
openSession
的不同重载方法。 -
SqlSessionFactory
的最佳使用范围是整个应用运行期间
,一旦创建后可以重复使用,通常以单例模式管理SqlSessionFactory
。
SqlSession
- 连接到数据库的一个会话。
-
sqlSession
中定义了数据库的一些操作方法。 - 每个线程都应该有它自己的
SqlSession
实例。 -
SqlSession
的实例不能共享使用,它也是线程不安全的。因此最佳的使用范围是请求
或方法范围
。 - 绝对不能将
SqlSession
实例的引用放在一个类的静态字段或实例字段中。
MyBatis 的整体架构