//通過配置檔案取到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...