MyBatis總結(三十)--MyBatis_執行原理總結
阿新 • • 發佈:2018-12-11
目錄
1說明
1.1
1.2
本文是基於MyBatis的HelloWorld程式碼進行研究的。程式碼來自MyBatis總結(二)--helloworld。研究任何框架都建議先從HelloWorld開始研究原始碼。其次本文內容只是文字敘說,如果需要親自實踐,可以打斷點並按照本文總結的內容一一對應著斷點跟著走。
1.3
本文研究路線分四步如下圖:
2原理總結
2.1總結的文字描述
呼叫DefaultSqlSession的增刪改查(Executor);然後會建立一個StatementHandler物件。(同時也會創建出ParameterHandler和 ResultSetHandler) 再呼叫StatementHandler預編譯引數以及設定引數值;並且使用ParameterHandler來給sql設定引數 這時才開始呼叫StatementHandler的增刪改查方法;ResultSetHandler封裝結果 注意: 四大物件每個建立的時候都有一個interceptorChain.pluginAll(parameterHandler);
2.2介紹下MyBatis的四大物件
Executor:實際上呼叫的就是StatementHandler
StatementHandler:處理sql語句預編譯,設定引數等相關工作;
ParameterHandler:設定預編譯引數用的
ResultHandler:處理結果集