MyBatis運行原理

運行過程中涉及到的類或接口

1 Resources( C )

用於加載 MyBatis 核心配置文件

2 XMLConfigBuilder( C )

用於解析 xml 文件(核心配置文件)

3 Configuration( C )

用於存放 xml 文件解析後的結果

4 DefaultSqlSessionFactory( C )

是 SqlSessionFactory(I)的 實 現 類 , 創 建 時 需 要 使 用Configuration 對象

5 SqlSession(I)

是 MyBatis 操作的核心

6 DefaultSqlSession©

是 SqlSession 接口的實現類

7 TransactionFactory(I)

用於生產 Transaction 對象

8 Transaction(I)

用於表示操作數據庫的事務對象

9 Executor(I)

是 MyBatis 的核心執行器, 類似於 jdbc 中的 Statement, 常用的實現類是 SimpleExecutor

思維導圖:

在這裏插入圖片描述

(I)爲接口,(c)爲java 類

文字描述

當 MyBatis 運行開始時, 先要通過 Resources 加載核心配置文件, 之後使用 XMLConfigBuilder 對配置文件進行解析, 將解析結果封裝爲 Configuration 對象, 接着, 使用Configuration對象構建一個DefaultSqlSessionFactory對象, 至此, SqlSession 工廠構建完成.

接下來, 通過工廠對象調用 openSession 方法創建SqlSession 對 象 . 在 這 個 過 程 中 , 需 要 通 過TransactionFactory 生成 Transaction 對象, 並且, 還需要創建核心執行器 Executor 對象, 之後, 通過這些對象來創建DefaultSqlSession對象, 至此, SqlSession對象創建成功.

之後, 通過 SqlSession 對象執行相應的操作, 如果執行成功, 調用 commit 方法提交事務; 如果失敗, 調用rollback 方法事務回滾. 最後, 調用 close 方法關閉session 資源. 以上, 就是 MyBatis 的運行原理.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章