mybatis架構圖

一、mybatis整體架構設計分為三層:API接口層、數據處理層、基礎支持層。
- API接口層:提供外部使用接口的API,通過提供的API操作數據庫。接口層收到調用參數后就會將這些參數作為入參數調用數據處理層來完成具體的數據處理。
- 數據處理層:接收到接口層的參數,具體負責對SQL的查找,解析,執行和執行結果的映射處理,完成對數據庫的操作。
- 基礎支持層:負責最基礎且公用的功能支持,包括數據庫連接管理、事務管理、配置加載和緩存處理。這些功能抽取出來作為基礎功能,為上層的數據處理層提供最基礎的支撐。
二、mybatis整個調用執行過程:
- 加載配置並初始化:即mybatis主配置文件,mapper配置文件及注解配置。其中將SQL配置的信息加載為一個個MapperStatement對象(傳入參數映射配置、執行的SQL語句、結果映射配置)。
- 接收調用請求:接收到傳入的參數和需要執行的SQL的ID,將請求傳遞給下層的數據處理層進行處理。
- 處理操作請求:執行器Executor處理接收到接口層傳遞的SQL的ID和傳入參數,根據ID查找對應的MapperStatement,解析MapperStatement對象,得到需要執行的SQL語句並注入傳入的參數。獲取到數據庫連接,將最終的SQL語句到數據庫執行,並得到結果。根據MapperStatement對象中的結果映射配置對得到的結果進行轉換處理,得到最終的結果。最后釋放資源並返回結果到上層。
