国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

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

Mybatis SQL運行流程源碼詳解

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

概述

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

重要性

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

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

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

步驟

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

步驟1 測試用例請求

Mybatis SQL運行流程源碼詳解

步驟2 進行MapperProxy對象,MapperProxy代理是jdk動態(tài)代理,根據(jù)傳入的mapper接口,動態(tài)生成代理對象,代理對象同時實現(xiàn)了InvocationHandler接口。

Mybatis SQL運行流程源碼詳解

Mybatis SQL運行流程源碼詳解

Mybatis SQL運行流程源碼詳解

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

Mybatis SQL運行流程源碼詳解

步驟4 進行execute選擇執(zhí)行的Sqlsession

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

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

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

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

Mybatis SQL運行流程源碼詳解

流程的請求總結(jié)

Mybatis SQL運行流程源碼詳解

總結(jié)

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

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

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

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

相關文章:
主站蜘蛛池模板: 欧美成人久久久免费播放 | 亚洲国产精品线在线观看 | 国产亚洲精品一区二区在线观看 | 国产黄a三级三级三级 | 久久久国产乱子伦精品 | 免费精品99久久国产综合精品 | 国产精品极品美女自在线看免费一区二区 | 韩国免费毛片在线看 | 亚洲夜色| 久久国产成人福利播放 | 九九九九视频 | 久久精品国产99久久72 | 手机看片国产在线 | 日韩免费一级a毛片在线播放一级 | 欧美精品在线视频观看 | 99久久香蕉国产线看观香 | 久久精品亚瑟全部免费观看 | 成年女人免费看片 | 日韩激情中文字幕一区二区 | 欧美一级毛片欧美毛片视频 | 日韩欧美一区二区三区在线观看 | 久久一级毛片 | 美女张开腿让男人桶的 视频 | 极品美女一级毛片 | 色播基地| 国产精品香蕉一区二区三区 | 国产成人毛片视频不卡在线 | 欧美 日韩 国产 成人 在线观看 | 9191精品国产观看 | 一级欧美一级日韩片 | 欧美国产日韩在线播放 | 一级黄色片aaa | 久9视频这里只有精品 | 精品午夜寂寞黄网站在线 | 亚洲天堂在线观看视频 | 欧美成人三级伦在线观看 | 国产欧美日韩高清专区手机版 | 日本高清乱偷www | 欧美三级一区二区 | 日本美女黄色一级片 | 亚洲国产爱久久全部精品 |