SqlSessionFactoryBuilder
- SqlSessionFactoryBuilder 用于创建 SqlSessionFacoty
- SqlSessionFacoty 一旦创建完成就不需要 SqlSessionFactoryBuilder 了
- 因为 SqlSession 是通过 SqlSessionFactory 创建的
- 所以可以将 SqlSessionFactoryBuilder 当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量
SqlSessionFactory
- 创建 SqlSession 的工厂,是一个接口
- 接口中定义了 openSession 的不同重载方法
- SqlSessionFactory 的最佳使用范围是整个应用运行期间,一旦创建后可以重复使用,通常以单例模式管理 SqlSessionFactory
SqlSession
- 连接到数据库的一个会话
- sqlSession 中定义了数据库操作方法
- 每个线程都应该有它自己的 SqlSession 实例
- SqlSession 的实例不能共享使用,它也是线程不安全的,因此最佳的范围是请求或方法范围
- 绝对不能将 SqlSession 实例的引用放在一个类的静态字段或实例字段中