MyBatis 的工作流程分析
我們學習了MyBatis 的編程式使用的方法,我們再來回顧一下MyBatis 的主要工作流程:
首先在MyBatis 啟動的時候我們要去解析配置文件,包括全局配置文件和映射器配置文件,這里面包含了我們怎么控制MyBatis 的行為,和我們要對數據庫下達的指令,也就是我們的SQL 信息。我們會把它們解析成一個Configuration 對象。
接下來就是我們操作數據庫的接口,它在應用程序和數據庫中間,代表我們跟數據庫之間的一次連接:這個就是SqlSession 對象。
我們要獲得一個會話, 必須有一個會話工廠SqlSessionFactory 。SqlSessionFactory 里面又必須包含我們的所有的配置信息,所以我們會通過一個Builder 來創建工廠類。
我們知道,MyBatis 是對JDBC 的封裝,也就是意味著底層一定會出現JDBC 的一些核心對象,比如執行SQL 的Statement,結果集ResultSet。在Mybatis 里面,SqlSession 只是提供給應用的一個接口,還不是SQL 的真正的執行對象。
我們上次課提到了,SqlSession 持有了一個Executor 對象,用來封裝對數據庫的操作。
在執行器Executor 執行query 或者update 操作的時候我們創建一系列的對象,來處理參數、執行SQL、處理結果集,這里我們把它簡化成一個對象:StatementHandler,在閱讀源碼的時候我們再去了解還有什么其他的對象。
?
總結
以上是生活随笔為你收集整理的MyBatis 的工作流程分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mybatis-MyBatis-Plus
- 下一篇: MyBatis 架构分层与模块划分