圖比較大:如果看著比較糊的話,可以下載高清圖:https://download.csdn.net/download/langwuzhe/87376216
第一步:創(chuàng)建 StatementHandler、ParameterHandler、ResultSetHandler-----------(三劍客的新生)PreparedStatementHandler
,而且被RoutingStatementHandler
包裹,便于識別具體的StatementHandler
對象。BaseStatementHandler
的構(gòu)造器。BaseStatementHandler
構(gòu)造器會把ParameterHandler、ResultSetHandler都創(chuàng)建出來connection.prepareStatement
connection.prepareStatement(sql)
時,由于connection 對象被種了動態(tài)代理的蠱。所以執(zhí)行connection.prepareStatement(sql)
時,會先進(jìn)入 connection的代理對象 ConnectionLogger中執(zhí)行invoke方法打印sql日志statement
對象傳出來用來往sql設(shè)置參數(shù)DefaultParameterHandler
進(jìn)行的execute()
方法是在 StatementHandler 的實(shí)現(xiàn)類 PreparedStatementHandler 中執(zhí)行的。execute()
方法,會先進(jìn)入到PreparedStatement
的代理的對象PreparedStatementLogger
中打印入?yún)⒌娜罩尽?/mark>結(jié)果映射都是在 ResultSetHandler 的實(shí)現(xiàn)類 DefaultResultSetHandler 中進(jìn)行的。
從 statement中取出ResultSet對象會把他放到ResultSetWrapper
中,ResultSetWrapper
是對ResultSet的補(bǔ)充增強(qiáng)
在映射的過程中,還會創(chuàng)建 ResultHandler對象,他的實(shí)現(xiàn)類是DefaultResultHandler
。這個只是方法返回時攜帶數(shù)據(jù)用的,無需過多關(guān)注,但是要區(qū)分ResultSetHandler 和 ResultHandler 長的很像,容易看花眼。
? 第一、二、三 步 都是在 Executor 中發(fā)生的。第四、五步 是在 StatementHandler 中發(fā)生的。
**
另外在我的組件庫中,對mybatis源碼進(jìn)行了詳盡的注釋,且可以對項目進(jìn)行install,然后在ron-man-mybatis1項目中 src/main/java/iron/man/lyf/ironmanmybatis1/run_test/MybatisQuickStart.java 進(jìn)行運(yùn)行 對mybatis源碼進(jìn)行debug查看運(yùn)行過程,歡迎大家下載指正。如果您覺得幫助到您麻煩給個贊。我的組件庫
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
網(wǎng)頁標(biāo)題:一圖讀懂mybatis查詢接口的源碼流程-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://www.chinadenli.net/article26/dpjgjg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、外貿(mào)建站、品牌網(wǎng)站制作、用戶體驗、企業(yè)建站、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容