MyBatis中的原理
01Mybatis的運(yùn)行原理
1.1 Resources MyBatis中IO流的工具類
1.1 加載配置文件
1.2 SqlSessionFactoryBuilder() 構(gòu)建器
1.2.1 作用:創(chuàng)建SqlSessionFactory接口的實(shí)現(xiàn)類
1.3 XMLConfigBuilder MyBatis全局配置文件內(nèi)容構(gòu)建器類
1.3.1 作用負(fù)責(zé)讀取流內(nèi)容并轉(zhuǎn)換為JAVA代碼.
1.4 Configuration 封裝了全局配置文件所有配置信息.
1.4.1 全局配置文件內(nèi)容存放在Configuration中
1.5 DefaultSqlSessionFactory 是SqlSessionFactory接口的實(shí)現(xiàn)類
1.6 Transaction 事務(wù)類
16.1 每一個(gè)SqlSession會(huì)帶有一個(gè)Transaction對(duì)象.
1.7 TransactionFactory 事務(wù)工廠
1.7.1 負(fù)責(zé)生產(chǎn)Transaction
1.8 Executor MyBatis執(zhí)行器
1.8.1 作用:負(fù)責(zé)執(zhí)行SQL命令
1.8.2 相當(dāng)于JDBC中statement對(duì)象(或PreparedStatement或CallableStatement)
1.8.3 默認(rèn)的執(zhí)行器SimpleExcutor
1.8.4 批量操作BatchExcutor
1.8.5 通過openSession(參數(shù)控制)
1.9 DefaultSqlSession 是SqlSession接口的實(shí)現(xiàn)類
1.10 ExceptionFactory MyBatis中異常工廠
02流程圖
03文字解釋
在MyBatis運(yùn)行開始時(shí)需要先通過Resources加載全局配置文件.下面需要實(shí)例化SqlSessionFactoryBuilder構(gòu)建器.幫助SqlSessionFactory接口實(shí)現(xiàn)類DefaultSqlSessionFactory.
在實(shí)例化DefaultSqlSessionFactory之前需要先創(chuàng)建XmlConfigBuilder解析全局配置文件流,并把解析結(jié)果存放在Configuration中.之后把Configuratin傳遞給DefaultSqlSessionFactory.到此SqlSessionFactory工廠創(chuàng)建成功.
由SqlSessionFactory工廠創(chuàng)建SqlSession.
每次創(chuàng)建SqlSession時(shí),都需要由TransactionFactory創(chuàng)建Transaction對(duì)象,同時(shí)還需要?jiǎng)?chuàng)建SqlSession的執(zhí)行器Excutor,最后實(shí)例化DefaultSqlSession,傳遞給SqlSession接口.
根據(jù)項(xiàng)目需求使用SqlSession接口中的API完成具體的事務(wù)操作.
如果事務(wù)執(zhí)行失敗,需要進(jìn)行rollback回滾事務(wù).
如果事務(wù)執(zhí)行成功提交給數(shù)據(jù)庫(kù).關(guān)閉SqlSession
[1] MyBatis的基本的操作
A、mybatis框架的基本搭建
B、使用sqlSESSION對(duì)數(shù)據(jù)進(jìn)行CRUD
C、使用Mapper代理方式操作CRUD
[2] myBatis中動(dòng)態(tài)SQL拼接
Foreach where if bind set
[3] mybatis中多表查詢
A、業(yè)務(wù)代碼
B、N+1查詢
C、多表查詢的SQL
[4] 其他知識(shí)
A、myBatis中緩存機(jī)制
B、ThreadLoacl
C、注解的使用
D、MyBatis中運(yùn)行原理
總結(jié)
以上是生活随笔為你收集整理的MyBatis中的原理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis中的注解
- 下一篇: 维吾尔族的秘密介绍 维吾尔族的秘密介绍简