新聞中心
一、架構設計
我們把Mybatis的功能架構分為三層:

1、API接口層:提供給外部使用的接口API,開發(fā)?員通過這些本地API來操縱數據庫。接口層?接收到調?請求就會調?數據處理層來完成具體的數據處理。
MyBatis和數據庫的交互有兩種?式:
a.使用傳統(tǒng)的MyBatis提供的API;
b.使?Mapper代理的?式
2、數據處理層:負責具體的SQL查找、SQL解析、SQL執(zhí)?和執(zhí)?結果映射處理等。它主要的目的是根據調用的請求完成?次數據庫操作。
3、基礎支撐層:負責最基礎的功能支撐,包括連接管理、事務管理、配置加載和緩存處理,這些都是共用的東?,將他們抽取出來作為最基礎的組件。為上層的數據處理層提供最基礎的支撐。
二、主要構建及其相互關系
三、總體流程
1、加載配置并初始化
觸發(fā)條件:加載配置?件
配置來源于兩個地?,?個是配置?件(主配置?件conf.xml,mapper?件*.xml),—個是java代碼中的注解,將主配置?件內容解析封裝到Configuration,將sql的配置信息加載成為?個mappedstatement對象,存儲在內存之中。
2、接收調用請求
觸發(fā)條件:調用Mybatis提供的API
傳?參數:為SQL的ID和傳?參數對象
處理過程:將請求傳遞給下層的請求處理層進行處理。
3、處理操作請求
觸發(fā)條件:API接?層傳遞請求過來
傳?參數:為SQL的ID和傳?參數對象
處理過程:
(A)根據SQL的ID查找對應的MappedStatement對象。
(B)根據傳?參數對象解析MappedStatement對象,得到最終要執(zhí)?的SQL和執(zhí)行傳?參數。
(C)獲取數據庫連接,根據得到的最終SQL語句和執(zhí)?傳?參數到數據庫執(zhí)?,并得到執(zhí)?結果。
(D)根據MappedStatement對象中的結果映射配置對得到的執(zhí)?結果進行轉換處理,并得到最終的處理結果。
(E)釋放連接資源。
4、返回處理結果
將最終的處理結果返回。
網頁名稱:MyBatis:MyBatis架構原理
分享路徑:http://m.5511xx.com/article/dpecsee.html


咨詢
建站咨詢
