欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MyBatis运行原理

程序员文章站 2022-06-27 21:08:37
一、运行过程当中涉及到的类1.1 Resources MyBatis,中IO流的工具类1.1 加载配置文件1.2 SqISessionFactoryBuilder()构建器1.2.1作用:创建SqlSessionFactory接口的实现类1.3 XMLConfigBuilder. MyBatis 全局配置文件内容构建器类1.3.1作用负责读取流内容并转换为JAVA代码.1.4 Configuration封装了全局配置文件所有配置信息.1.4.1全局配置文件内容存放在Configurati....

一、运行过程当中涉及到的类

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运行原理

三、文字解释

        在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

相关标签: mybatis