bjsxt学习Mybatis,简述MyBatis的运行原理

1 篇文章 0 订阅
本文详细介绍了MyBatis的运行过程,从Resources加载配置文件开始,通过SqlSessionFactoryBuilder创建SqlSessionFactory,接着XmlConfigBuilder解析配置信息并存储在Configuration中。DefaultSqlSessionFactory在持有Configuration后完成初始化。SqlSession的创建涉及TransactionFactory生成Transaction和Executor执行SQL。在事务操作中,根据需求使用SqlSession接口,执行成功则提交,失败则回滚,最后关闭SqlSession。
摘要由CSDN通过智能技术生成

MyBatis运行过程中涉及到的类:
    1ResourcesMyBatis 中 IO 流的工具类
        1.1 加载配置文件
    2SqlSessionFactoryBuilder() 构建器
        2.1 作用:创建 SqlSessionFactory 接口的实现类
    3XMLConfigBuilder MyBatis 全局配置文件内容构建器类
        3.1 作用负责读取流内容并转换为 JAVA 代码.
    4Configuration 封装了全局配置文件所有配置信息.
        4.1 全局配置文件内容存放在 Configuration 中
    5DefaultSqlSessionFactory 是SqlSessionFactory接口的实现类
    6Transaction 事务类
        6.1 每一个 SqlSession 会带有一个 Transaction 对象.
    7TransactionFactory 事务工厂
        7.1 负责生产 Transaction
    8Executor MyBatis 执行器
        8.1 作用:负责执行 SQL 命令
        8.2 相当于 JDBC 中 statement 对象(或 PreparedStatement
        或 CallableStatement)
        8.3 默认的执行器 SimpleExcutor
        8.4 批量操作 BatchExcutor
        8.5 通过 openSession(参数控制)
    9DefaultSqlSession 是 SqlSession 接口的实现类
    10ExceptionFactoryMyBatis 中异常工厂

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值