MyBatis运行原理
一、运行过程当中涉及到的类
1.1 Resources MyBatis,中IO流的工具类
1.1.1 加载配置文件
1.2 SqISessionFactoryBuilder()构建器
1.2.1作用:创建SqlSessionFactory接口的实现类
1.3 XMLConfigBuilder. MyBatis 全局配置文件内容构建器类
1.3.1作用负责读取流内容并转换为JAVA代码.
1.4 Configuration封装了全局配置文件所有配置信息.
1.4.1全局配置文件内容存放在Configuration中
1.5 DefaultSglSessionFactory是SqlSessionFactory接口的实现类
1.6 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 DefaultSglSession是SqISession接口的实现类
1.10 ExceptionFactory MyBatis中异常工厂
二、流程图
三、文字解释
在MyBatis运行开始时,需要先通过Resources加载全局配置文件.
下面需要实例化SglSessionFactoryBuilder,构建器帮助SglSessionFactory接口实现类DefaultSqlSessionFactory.
在实例化DefaultSqlSessionFactory 之前,需要先创建XmlConfigBuilder,解析全局配置文件流,并把解析结果存放在Configuration中,之后把Configuratin传递给DefaultSqlSessionFactory.到此 SqlSessionFactory.工厂创建成功.
由SglSessionFactory工厂创建SalSession.每次创建SqlSession时,都需要由TransactionFactory创建Transaction对象,
同时还需要创建SqlSession的执行器Excutor,最后实例化DefaultSqlSession,传递给SglSession接口.
根据项目需求使用SqlSession接口中的API完成具体的事务操作.
如果事务执行失败,需要进行rollback 回滚事务.
如果事务执行成功提交给数据库关闭SqlSession
到此就是MyBatis的运行原理.
本文地址:https://blog.csdn.net/weixin_43652205/article/details/107509253