mybatis執行流程

2022-09-03 14:30:20 字數 1927 閱讀 8346

//通過配置檔案取到sqlsessionfactory

string resource = "mybatis-config.xml";

inputstream inputstream = null;

try catch (ioexception e)

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

//通過sqlsessionfactory取到sqlsession

sqlsession sqlsession = sqlsessionfactory.opensession();

sqlsessionfactory = new sqlsessionfactorybuilder().build(inputstream);點進去build

繼續往裡點(核心就是這個this.build)

繼續點選build

(最後返回sqlsessionfactory的實現類defaultsqlsessionfactory,用於取到sqlsession)

點選opensession,選擇defaultsqlsessionfactory

點選opensessionfromdatasource

點選execute方法

點選executewithresulthandler

判斷是否有快取,先從二級快取中獲取,如二級快取中沒有資料,走delegate(baseexecutor)的query方法 ,也就是一級快取localcache,如果一級快取沒有資料,則走queryfromdatabase方法查資料庫,從資料庫查到資料,放入到一級快取中

mybatis執行時要先通過resources把核心配置檔案也就是mybatis.xml檔案載入進來,然後通過xmlconfigbulider來解析,解析完成後把結果放入configuration中,並把它作為引數傳入到build()方法中,並返回乙個defaultsqlsessionfactory。我們再呼叫opensession()方法,來獲取sqlsession,在構建sqlsession的同時還需要transaction和executor用於後續執行操作。

mybatis執行流程

記錄一下自己對mybatis的理解和心得.是自己手寫的乙個mybatisdemo,比較簡陋,只有乙個簡單的查詢語句,但是麻雀雖小五臟俱全,可以理解整個mybatis的執行流程.載入全域性配置檔案 將配置檔案載入到inputstream中,dcoumentutils將stream轉換為document...

MyBatis的執行流程

一 載入配置檔案並初始化 mybatis的配置檔案一共有兩類 二 通過sqlsesssionfactory.opensession 方法開啟乙個sqlsession物件 三 mybatis執行器executor根據sqlsession傳遞的引數執行query 方法 executor.query 方法...

mybatis的執行流程

載入全域性配置檔案 mybatisconfig.xml 這個配置檔案中通常是別名設定,的設定,xml全域性配置檔案會產生乙個構建者類,叫做xmlconfigbuilder,這個類是用來通過xml配置 檔案來構建configuration物件例項的,構建的過程就是解析 mbatistconfig xm...