1. 程式人生 > >Mybatis框架可視化(1)

Mybatis框架可視化(1)

lsp hand 文件 app 日誌模塊 center result bat stat

Mybatis整體架構視圖:

SqlSession

(定義了Mybatis暴露給應用程序調用的API)

配置解析

(加載核心配置、映射配置、

mapper接口註解信息,

解析後形成的對象

保存至Configuration對象)

參數映射

SQL解析

(動態sql拼接)

SQL執行

(sql執行涉及多個組件,Executor、

StatementHandler、ParameterHandler、

ResultSetHandler)

結果集映射

插件

(對sql進行攔截,處理)

數據源模塊

(自身實現數據源;

提供第三方數據源集成接口)

事物管理模塊

(自身簡單實現事物;

常與spring集成,

事物由spring控制)

緩存模塊

(兩級緩存:自身緩存與應用運行

於同一個jvm,共享一塊內存,

緩存數據過大時應用redis等插件)

Binding模塊

(將用戶自定義的Mapper接口

與xml映射文件關聯,

通過調用mapper方法執行相應的sql)

反射模塊

(封裝jdk的反射)

類型轉換

(別名機制;jdbcType

<=>javaType)

日誌模塊

(集成第三

方日誌框架)

資源加載

(類加載器封裝;提供加載類

文件和其他資源文件功能)

解析器模塊

(對Xpath進行封裝,解析配置xml;

提供處理動態sql占位符支持)

核心處理層[sql執行]過程視圖:

技術分享圖片

Mybatis框架可視化(1)