一:MyBatis的整體設計

來源:互聯網
上載者:User

標籤:

此文出自http://chenjc-it.iteye.com/blog/1460990,感謝chenjc_it的整理

1.整體設計1.1 總體流程

(1)載入配置並初始化

      觸發條件:載入設定檔

      配置來源於兩個地方,一處是設定檔,一處是Java代碼的註解,將SQL的配置資訊載入成為一個個MappedStatement對象(包括了傳入參數映射配置、執行的SQL語句、結果映射配置),儲存在記憶體中。

      

(2)接收調用請求

      觸發條件:調用Mybatis提供的API

      傳入參數:為SQL的ID和傳入參數對象

      處理過程:將請求傳遞給下層的請求處理層進行處理。

          

(3)處理操作請求

       觸發條件:API介面層傳遞請求過來

       傳入參數:為SQL的ID和傳入參數對象

       處理過程:

        (A)根據SQL的ID尋找對應的MappedStatement對象。

        (B)根據傳入參數對象解析MappedStatement對象,得到最終要執行的SQL和執行傳入參數。

        (C)擷取資料庫連接,根據得到的最終SQL語句和執行傳入參數到資料庫執行,並得到執行結果。

        (D)根據MappedStatement對象中的結果映射配置對得到的執行結果進行轉換處理,並得到最終的處理結果。

        (E)釋放串連資源。

       

(4)返回處理結果

將最終的處理結果返回。

2.2 功能架構設計

  

功能架構講解:

我們把Mybatis的功能架構分為三層:

(1)API介面層:提供給外部使用的介面API,開發人員通過這些本地API來操縱資料庫。介面層一接收到調用請求就會調用資料處理層來完成具體的資料處理。

(2)資料處理層:負責具體的SQL尋找、SQL解析、SQL執行和執行結果映射處理等。它主要的目的是根據調用的請求完成一次資料庫操作。

(3)基礎支撐層:負責最基礎的功能支撐,包括串連管理、交易管理、配置載入和緩衝處理,這些都是共用的東西,將他們抽取出來作為最基礎的組件。為上層的資料處理層提供最基礎的支撐。

一:MyBatis的整體設計

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.