0%

MyBatis核心Api

SqlSessionFactoryBuilder

  • SqlSessionFactoryBuilder 用于创建 SqlSessionFacoty
  • SqlSessionFacoty 一旦创建完成就不需要 SqlSessionFactoryBuilder 了
  • 因为 SqlSession 是通过 SqlSessionFactory 创建的
  • 所以可以将 SqlSessionFactoryBuilder 当成一个工具类使用,最佳使用范围是方法范围即方法体内局部变量

SqlSessionFactory

  • 创建 SqlSession 的工厂,是一个接口
  • 接口中定义了 openSession 的不同重载方法
  • SqlSessionFactory 的最佳使用范围是整个应用运行期间,一旦创建后可以重复使用,通常以单例模式管理 SqlSessionFactory

SqlSession

  • 连接到数据库的一个会话
  • sqlSession 中定义了数据库操作方法
  • 每个线程都应该有它自己的 SqlSession 实例
  • SqlSession 的实例不能共享使用,它也是线程不安全的,因此最佳的范围是请求或方法范围
  • 绝对不能将 SqlSession 实例的引用放在一个类的静态字段或实例字段中
↓赏一个鸡腿... 要不,半个也行↓