Mybatis框架可視化(1)
阿新 • • 發佈:2019-01-17
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)