1. 运行过程中涉及到的类
1.1 Resources MyBatis 中IO 流的工具类
1.1 加载配置文件
1.2 SqlSessionFactoryBuilder() 构建器
1.2.1 作用:创建SqlSessionFactory 接口的实现类
1.3 XMLConfigBuilder MyBatis 全局配置文件内容构建器类
1.3.1 作用负责读取流内容并转换为JAVA 代码.
1.4 Configuration 封装了全局配置文件所有配置信息.
1.4.1 全局配置文件内容存放在Configuration 中
1.5 DefaultSqlSessionFactory 是SqlSessionFactory 接口的实现类
1.6 Transaction 事务类
16.1 每一个SqlSession 会带有一个Transaction 对象.
1.7 TransactionFactory 事务工厂
1.7.1 负责生产Transaction
1.8 Executor MyBatis 执行器
1.8.1 作用:负责执行SQL 命令
1.8.2 相当于JDBC 中statement 对象(或PreparedStatement
或CallableStatement)
1.8.3 默认的执行器SimpleExcutor
1.8.4 批量操作BatchExcutor
1.8.5 通过openSession(参数控制)
1.9 DefaultSqlSession 是SqlSession 接口的实现类
1.10 ExceptionFactory MyBatis 中异常工厂
2. 流程图

MyBatis 简单原理介绍

 

 

3.文字解释
在MyBatis 运行开始时需要先通过Resources 加载全局配置文件.下面
需要实例化SqlSessionFactoryBuilder 构建器.帮助SqlSessionFactory 接
口实现类DefaultSqlSessionFactory.
在实例化DefaultSqlSessionFactory 之前需要先创建XmlConfigBuilder
解析全局配置文件流,并把解析结果存放在Configuration 中.之后把
Configuratin 传递给DefaultSqlSessionFactory.到此SqlSessionFactory 工
厂创建成功.
由SqlSessionFactory 工厂创建SqlSession.
每次创建SqlSession 时,都需要由TransactionFactory 创建Transaction
对象, 同时还需要创建SqlSession 的执行器Excutor, 最后实例化
DefaultSqlSession,传递给SqlSession 接口.
根据项目需求使用SqlSession 接口中的API 完成具体的事务操作.
如果事务执行失败,需要进行rollback 回滚事务.
如果事务执行成功提交给数据库.关闭SqlSession
到此就是MyBatis 的运行原理.(面试官说的.)

 

相关文章:

  • 2021-11-10
  • 2021-08-10
  • 2022-12-23
  • 2019-10-01
  • 2021-11-09
  • 2021-08-18
  • 2021-10-10
  • 2021-05-21
猜你喜欢
  • 2022-01-01
  • 2021-04-10
  • 2021-08-06
  • 2022-12-23
  • 2021-06-04
  • 2021-12-14
  • 2021-12-02
相关资源
相似解决方案