原文:Mybaits 源碼解析 (六)----- Select 語句的執行過程分析(上篇)

上一篇我們分析了Mapper接口代理類的生成,本篇接着分析是如何調用到XML中的SQL 我們回顧一下MapperMethod 的execute方法 selectOne 方法分析 本節選擇分析 selectOne 方法,主要是因為 selectOne 在內部會調用 selectList 方法。同時分析 selectOne 方法等同於分析 selectList 方法。代碼如下 我們看到是通過sqlSe ...

2019-11-04 11:13 0 546 推薦指數:

查看詳情

Mybaits 源碼解析 (七)----- Select 語句執行過程分析(下篇)

我們上篇文章講到了查詢方法里面的doQuery方法,這里面就是調用JDBC的API了,其中的邏輯比較復雜,我們這邊文章來講,先看看我們上篇文章分析的地方 SimpleExecutor 上篇文章我們分析完了第6行代碼,在第6行處我們創建了一個 ...

Wed Nov 06 19:37:00 CST 2019 1 518
Mybaits 源碼解析 (三)----- Mapper映射的解析過程

上一篇我們講解到mapperElement方法用來解析mapper,我們這篇文章具體來看看mapper.xml的解析過程 mappers配置方式 mappers 標簽下有許多 mapper 標簽,每一個 mapper 標簽中配置的都是一個獨立的映射配置文件的路徑,配置方式有以下幾種。 接口 ...

Tue Oct 29 19:40:00 CST 2019 1 932
Mybaits 源碼解析 (四)----- SqlSession的創建過程

SqlSession是mybatis的核心接口之一,是myabtis接口層的主要組成部分,對外提供了mybatis常用的api。myabtis提供了兩個SqlSesion接口的實現,常用的實現類是DefaultSqlSession。它相當於一個數據庫連接對象,在一個SqlSession中可以執行 ...

Wed Oct 30 19:13:00 CST 2019 1 685
【Spring源碼分析】AOP源碼解析上篇

前言 前面寫了六篇文章詳細地分析了Spring Bean加載流程,這部分完了之后就要進入一個比較困難的部分了,就是AOP的實現原理分析。為了探究AOP實現原理,首先定義幾個類,一個Dao接口: Dao接口的實現類DaoImpl: 定義一個TimeHandler ...

Sat Apr 29 22:23:00 CST 2017 9 26073
mybaits源碼分析(一)

一、源碼下載 1、手動編譯源碼 為了方便在看源碼過程中能夠方便的添加注釋,可以從官網下載源碼編譯生成對應的Jar包,然后上傳到本地maven倉庫,再引用這個Jar。 首先需要編譯打包parent項目,我是用idea進行打包編譯的 然后用同樣 ...

Mon Aug 30 06:16:00 CST 2021 0 215
Mybaits 源碼解析 (八)----- 結果集 ResultSet 自動映射成實體類對象(上篇

上一篇文章我們已經將SQL發送到了數據庫,並返回了ResultSet,接下來就是將結果集 ResultSet 自動映射成實體類對象。這樣使用者就無需再手動操作結果集,並將數據填充到實體類對象中。這可大大降低開發的工作量,提高工作效率。 映射結果入口 我們來看看上次看源碼的位置 ...

Fri Nov 08 19:27:00 CST 2019 5 1052
mybaits源碼分析--日志模塊(四)

一.日志模塊 首先日志在我們開發過程中占據了一個非常重要的地位,是開發和運維管理之間的橋梁,在Java中的日志框架也非常多,Log4j,Log4j2,Apache Commons Log,java.util.logging,slf4j等,這些工具對外的接口也都不盡相同,為了統一這些工具 ...

Wed Sep 01 17:25:00 CST 2021 0 212
mybaits源碼分析--binding模塊(五)

一、binding模塊 接下來我們看看在org.apache.ibatis.binding包下提供的Binding模塊 ,binding其實在執行sqlSession.getMapper(UserMapper.class);獲取接口代理的對象時有用到; 發現這個包里面提供的工具比較 ...

Mon Sep 06 16:57:00 CST 2021 0 170
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM