sqlsession是通過執行器executor排程statementhandler來執行的。而statementhandler經過3步:
1、prepared預編譯sql
2、parameterize設定引數
3、query/update執行sql
其中,parameterize是呼叫parameterhandler的方法設定的,而引數是根據型別處理器typehandler處理的。query/update方法通過resultsethandler進行處理結果的封裝,如果是update語句,就返回整數,否則就通過typehandler處理結果型別,然後用objectfactory提供的規則組裝物件,返回給呼叫者。
SqlSession執行流程
一 產生 mybatis解析完配置檔案後,會生成乙個defaultsqlsessionfactory物件,呼叫opensession方法,即可獲得乙個sqlsession 使用的是預設的defaultsqlsession物件 二 原始碼解讀 獲取到環境物件 獲取到事務工廠 例項化事務物件 建立執行器...
mybatis之獲取SqlSession物件
在opensession 處加上斷點並執行 defaultsqlsessionfactory類的opensession 方法 override public sqlsession opensession 進入opensessionfromdatasource,裡面包含資料來源和事務以及建立了四大物件...
MyBatis 建立SqlSession原始碼剖析
1.根據將xml配置檔案變成輸入流,並呼叫sqlsessionfactorybuilder的build方法 static catch ioexception e 我們來看一下build方法原始碼 在build方法裡面 呼叫了xmlconfigbuilder物件 用來解析配置檔案流 public sq...