深入淺出mybatis 技術原理與實戰
楊開振著
#大體結構
sqlsessionfactory (defaultsqlsessionfactory)構建sqlsession
configuration xml檔案的記憶體表達
#sqlsession下的四個物件
executor 執行器,用來排程statementhandler,parameterhandler,resulthandler來執行對應的sql
statementhandler:使用資料庫的statement(preparedstatement)執行操作
parameterhandler 用於sql對引數的處理
resulthandler 對結果集resultset進行封裝返回
##executor
****** ,簡單執行器 預設的
reuse,
batch,
##******executor 核心方法 doquery
用於獲取statementhandler,並且對statementhandler進行引數初始化,然後執行具體查詢.
##statementhandler
routingstatementhandler是乙個**物件,真正的handler會有三個,分別對應三個執行器
******statementhandler preparedstatementhandler,callablestatementandler,
對常用的是handler是(preparedstatementhandler)
在 handler裡面的query方法中,會呼叫resultsethandler對結果進行包裝.
##引數處理器parameterhandler
實現類defaultparameterhandler
##結果處理器resultsethandler
實現類defaultresultsethandler
這裡會涉及到懶載入,作者沒有講
#sqlsession執行總結
可以看到statmenthandler是mybaits裡面的核心內容…
mybatis之原始碼閱讀記錄
使用mybatis已經有幾年了,之前只是在專案中配置和使用,但是沒有去追究它的內部實現的細節,後來也償試去學習原始碼,看過一些文章,但是不得入門。後來在mybatis官網的入門指引找找到了靈感,終於對mybatis的實現有了一定的理解 在mybatis的官網上介紹了我們在不依賴spring類容器的情...
MyBatis原始碼閱讀 解析MyBatis執行流程
前言 從demo分析上層流程 sqlsessionfactory sqlsessionfactory 一旦被建立就應該在應用的執行期間一直存在,沒有任何理由對它進行清除或重建。使用 sqlsessionfactory 的最佳實踐是在應用執行期間不要重複建立多次,多次重建 sqlsessionfact...
《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具
檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...