亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Mybatis SQL運行流程源碼詳解

瀏覽:6日期:2023-10-22 09:02:50

概述

源碼就是能夠被用來執行,生成機器能夠識別的代碼,通過開源源碼,可以引用其功能。

重要性

1、mybatis中的sql執行,不僅要知道返回的結果是什么,還需要知道這結果是怎么來的,經過了怎樣的處理,只有知道了這樣的原理,碰到問題才能更好的知道問題出在那個環節。

2、能更好的擴展應用程序,可以做到代碼的復用,減少開發成本和時間。

3、學習其中的設計思想能夠在其他應用得已應用。

步驟

源碼閱讀,可以從測試用例著手,每個源碼,多有大師們寫的測試用例,咱們可以用大師們寫的測試用例進行相關功能的測試,這樣就可以知道其中的運行原理及一些設計思想。

步驟1 測試用例請求

Mybatis SQL運行流程源碼詳解

步驟2 進行MapperProxy對象,MapperProxy代理是jdk動態代理,根據傳入的mapper接口,動態生成代理對象,代理對象同時實現了InvocationHandler接口。

Mybatis SQL運行流程源碼詳解

Mybatis SQL運行流程源碼詳解

Mybatis SQL運行流程源碼詳解

步驟3:進行到MapperMethod類,通過構造器初始化SqlCommand靜態內部類,跟配置文件的方法簽名對比,是不是有對應的方法。

Mybatis SQL運行流程源碼詳解

步驟4 進行execute選擇執行的Sqlsession

Mybatis SQL運行流程源碼詳解Mybatis SQL運行流程源碼詳解

步驟5 進入DefaultSqlsession,選擇執行的執行器,先選擇緩存執行器,緩存沒有選擇默認的簡單執行器,如果mybatis有配置,就選擇配置的執行器,并設置預處理參數。

Mybatis SQL運行流程源碼詳解Mybatis SQL運行流程源碼詳解

步驟6 進入申明處理對象進行查詢,返回結果集

Mybatis SQL運行流程源碼詳解

流程的請求總結

Mybatis SQL運行流程源碼詳解

總結

1、mybatis使用了jdk的動態代理,在程序執行的時候生成一個具體的代理對象,執行相關的邏輯,可以在代理的方法前后執行一些邏輯,不用改變原來類的邏輯,就能增強類方法的功能,在編寫底層代碼的時候動態代理尤其重要;

2、應用廣泛比如事物的管理、spring aop的原理實現,登錄權限攔截、日志的統一輸出、統計每個 api 的請求耗時等等。

3、研究源碼并不是為了研究而研究,要學習其中的思想,比如動態代理、工廠模式、建造者模式,要利用這些原則來增加程序的可維護性、復用性、靈活性、可靠性。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 欧美成人精品第一区二区三区 | 久久99精品久久久久久国产越南 | 免费a级特黄国产大片 | 一级毛片免费在线播放 | 成人亚洲国产精品久久 | 韩国19禁青草福利视频在线 | 亚洲一级毛片免费观看 | 久久青青国产 | 一级毛片大全免费播放 | 国产精品一区二区 尿失禁 国产精品一区二区三 | 亚洲色图3p | 在线成人免费看大片 | japanesefree高清日本乱 | 欧美日韩亚洲国产一区二区三区 | 国产日韩欧美一区 | 欧美黄色一级在线 | 一级毛片一级毛片一级毛片 | 亚洲精品不卡午夜精品 | 亚洲毛片免费在线观看 | 免费国产成人 | 99精品国产自产在线观看 | 欧美亚洲性色影视在线 | 一级特黄性色生活片一区二区 | 免费观看一级特黄欧美大片 | 色久视频 | 一级片生活片 | 久久视屏这里只有精品6国产 | 久草免费在线播放 | 七七久久 | 亚洲国产精品一区二区第四页 | 亚洲欧美日韩综合一区久久 | 国产二三区 | 欧美日韩国产一区三区 | 黄色资源在线观看 | 午夜精品久久久久久99热 | 国产女人的一级毛片视频 | 久久久久久久免费视频 | 99国产成+人+综合+亚洲 欧美 | 久久久久国产成人精品亚洲午夜 | 亚洲精品美女国产一区 | 成人免费一区二区三区 |