Java架構-Mybatis源碼正確打開方式

精心挑選要閱讀的源碼項目;sql

飲水思源——官方文檔,先看文檔再看源碼;數據庫

下載源碼,安裝到本地,保證能編譯運行;session

從宏觀到微觀,從總體到細節;數據結構

找到入口,抓主放次,梳理核心流程;mybatis

源碼調試,找到核心數據結構和關鍵類;架構

勤練習,多折騰;app

總體架構框架

mabatis源碼思惟導圖 學習

mybatis三大核心流程:3d

mybatis初始化:

進入光標選中的propertiesElement方法內發現,mybatis初始化的時候會把配置文件內的信息放入configuration對象對應的屬性內:

至此mybatis初始化工做完成,配置文件的全部信息都被加載到了sqlSessionFactory中的configration對象內。

mybatis代理階段:

根據sql的類型update,insert,select,delete 縮小查找範圍,而後根據sql的返回類型map?list?就可惟一肯定一個sqlsession執行方法

mybatis mapper接口並無實現類,運行中如何判調用的具體方法,執行指定的sql語句???

]SqlSession查詢接口嵌套關係

數據庫讀寫階段:

遵循jdbc的規範,先上一段jdbc代碼拋磚引玉:

Executor的三個重要組件

StatementHandler:它的做用是使用數據庫的Statement或PrepareStatement執行操做,啓承上啓下做用;

ParameterHandler:對預編譯的SQL語句進行參數設置

ResultSetHandler:對數據庫返回的結果集(ResultSet)進行封裝,返回用戶指定的實體類型;

接着上一段源碼,進入selelectList()方法。

ParameterHandler 組件已經飢渴難耐了。

Excutor黑幕以下

最後再看Mybatsi官方文檔的介紹,是否有豁然開朗的感受呢?

什麼是 MyBatis ?

MyBatis 是一款優秀的持久層框架,它支持定製化 SQL、存儲過程以及高級映射。MyBatis 避免了幾乎全部的 JDBC 代碼和手動設置參數以及獲取結果集。

MyBatis 可使用簡單的 XML 或註解來配置和映射原生信息,將接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java對象)映射成數據庫中的記錄。

歡迎你們和我一塊兒學習交流構建Java雲架構,我這邊會將近期研發的Java雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發Java高級架構的朋友,你們來一塊兒探討Java高級架構的搭建過程及如何運用於企業項目。

我本人邀約各大BATJ架構大牛共創Java高級架構交流社區羣,(羣號:673043639)致力於免費提供Java架構行業交流平臺,經過這個平臺讓你們相互學習成長,提升技術,讓本身的水平進階一個檔次,成功通往Java架構技術大牛或架構師發展。

但願此文能幫到你們的同時,也聽聽你們的觀點。歡迎留言討論,加關注,分享你的高見!持續更新!

To-陌霖Java架構

分享互聯網最新文章 關注互聯網最新發展

相關文章
相關標籤/搜索