MyBatis中的原理
01Mybatis的運行原理
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中異常工廠
02流程圖
03文字解釋
在MyBatis運行開始時需要先通過Resources加載全局配置文件.下面需要實例化SqlSessionFactoryBuilder構建器.幫助SqlSessionFactory接口實現類DefaultSqlSessionFactory.
在實例化DefaultSqlSessionFactory之前需要先創建XmlConfigBuilder解析全局配置文件流,并把解析結果存放在Configuration中.之后把Configuratin傳遞給DefaultSqlSessionFactory.到此SqlSessionFactory工廠創建成功.
由SqlSessionFactory工廠創建SqlSession.
每次創建SqlSession時,都需要由TransactionFactory創建Transaction對象,同時還需要創建SqlSession的執行器Excutor,最后實例化DefaultSqlSession,傳遞給SqlSession接口.
根據項目需求使用SqlSession接口中的API完成具體的事務操作.
如果事務執行失敗,需要進行rollback回滾事務.
如果事務執行成功提交給數據庫.關閉SqlSession
[1] MyBatis的基本的操作
A、mybatis框架的基本搭建
B、使用sqlSESSION對數據進行CRUD
C、使用Mapper代理方式操作CRUD
[2] myBatis中動態SQL拼接
Foreach where if bind set
[3] mybatis中多表查詢
A、業務代碼
B、N+1查詢
C、多表查詢的SQL
[4] 其他知識
A、myBatis中緩存機制
B、ThreadLoacl
C、注解的使用
D、MyBatis中運行原理
總結
以上是生活随笔為你收集整理的MyBatis中的原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis中的注解
- 下一篇: jQuery的简介