Mybatis執行原理(帶你三步走)

2021-09-03 08:44:13 字數 1525 閱讀 6800

mybatis執行原理(帶你三步走)

第一步:初始化階段,解析並載入到configuration例項中。

每個基於 mybatis 的應用都是以乙個 sqlsessionfactory 的例項為中心的。sqlsessionfactory 的例項可以通過 sqlsessionfactorybuilder 獲得。而 sqlsessionfactorybuilder 則可以從 xml 配置檔案或乙個預先定製的 configuration 的例項構建出 sqlsessionfactory 的例項。

原始碼解讀入口:

string resource = "org/mybatis/example/mybatis-config.xml";

inputstream inputstream = resources.getresourceasstream(resource);

sqlsessionfactory sqlsessionfactory = new sqlsessionfactorybuilder().build(inputstream);

以上解析的檔案均載入到configuration例項中。

第二步:**階段

使用jdk動態**,封裝ibatis程式設計模型,找到訪問資料庫時對應的方法及傳參

原始碼解析入口:

sqlsession session = sqlsessionfactory.opensession();

try finally

翻譯過程:

第三步:資料讀寫階段

遵循jdbc規範,通過sqlsession完成sql的解析,引數的對映,sql的執行、結果的解析過程。

mybatis的四大物件:

executor:通過對******executor doquery()方法的解讀發現,executor是排程器。

statementhandler:它的作用是使用資料庫的statement或preparestatement執行操作,起承上啟下作用。

parameterhandler:對預編譯的sql語句進行引數設定。

resultsethandler:對資料庫返回的結果集(resultset)進行封裝,返回使用者指定的實體型別。

transactionalcache:二級快取

perpetualcache:一級快取

注:資料查詢時,先從二級快取取資料,若取不到則再從一級快取中取資料(這是mysql規定),若一級快取中再獲取不到,則從資料庫中取資料。

executor內部運作過程:

以上只是梳理mybatis大致處理流程,像mybatis快取機制等還未整理,後期會補上這塊。

三步拼讀法

用到的工具項 p kt 配對符 連體符 下劃線 一讀 逐個音素讀出來。連體音,不拆分。二配 輔元成對式。口訣 子音在前,母音在後,子音加母音,構成一對子 三拼 見對先拼 拼音法和快讀法 沒法配對的音都讀本身音。快速拼讀六字訣 配對子,拼對子 f st p ti d p t tr vl h l de ...

Echarts入門三步

建立一張圖表,跟把大象放進冰箱的步驟是一樣的,分三步 id main style width 600px height 400px div 其實圖表寫的最多的就是這個配置項object option包含圖表型別 樣式 展示方式等一系列的配置項 指定圖表的配置項和資料 var option 提示框 t...

五分鐘掌握Mybatis操作 三步曲

第一步 配置configuration.xml檔案 第二步 建立dbutil類 publicclassdbutilcatch ioexceptione e.printstacktrace publicstaticdbutilgetinstance returndbutil title getsqls...