MyBatis的核心API

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架构:

原文地址:https://www.cnblogs.com/lqgcn/p/10823444.html