
掃描右側(cè)圖片或微信搜索 “ Java技術(shù)分享屋 ” ,回復(fù) “ 驗(yàn)證碼 ” ,獲取驗(yàn)證密碼。
本資料僅供讀者預(yù)覽及學(xué)習(xí)交流使用,不能用于商業(yè)用途,請(qǐng)?jiān)谙螺d后24小時(shí)內(nèi)刪除。如果喜歡,請(qǐng)購買正版!
一.資料截圖
二.資料介紹
本書是按照 MyBatis 的工作流程進(jìn)行編排,這樣做的好處在于全書的內(nèi)容會(huì)比較連貫。大家可以跟著本書的內(nèi)容,從頭到尾學(xué)習(xí) MyBatis 源碼。本書共包含七章內(nèi)容,第一章介紹了 MyBatis 的用法,并對(duì)比了 MyBatis 與其他框架的優(yōu)缺點(diǎn)。從第二章開始,本書進(jìn)入源碼分析階段。第二章分析了配置文件的解析過程,包括但不限于<properties>、<setting>、<typeAlias>等節(jié)點(diǎn)解析過程的分析。第三章分析了映射文件的解析過程,包括<cache>、<sql>、<resultMap>等節(jié)點(diǎn)。第四章從 SQL 執(zhí)行的源頭開始,一路進(jìn)行追蹤,較為完整的分析了MyBatis 執(zhí)行 SQL 的過程。第五章分析了 MyBatis 提供的兩種數(shù)據(jù)源。第六章和第七章分別分析了緩存機(jī)制與插件機(jī)制的實(shí)現(xiàn)。
三.資料目錄
目錄
第 1 章 MyBatis 入門 ........................................................ 1
1.1 MyBatis 是什么 ......................................................... 1
1.2 為什么要使用 MyBatis ................................................... 2
1.2.1 使用 MyBatis 訪問數(shù)據(jù)庫 ................................................... 3
1.2.2 使用 JDBC 訪問數(shù)據(jù)庫 ...................................................... 6
1.2.3 使用 SpringJDBC 訪問數(shù)據(jù)庫 ................................................ 9
1.2.4 使用 Hibernate 訪問數(shù)據(jù)庫 ................................................ 12
1.3 如何使用 MyBatis....................................................... 18
1.3.1 單獨(dú)使用 MyBatis......................................................... 18
1.3.2 在 Spring 中使用 MyBatis.................................................. 28
1.4 本章小結(jié) .............................................................. 34
第 2 章 配置文件解析過程 .................................................. 35
2.1 配置文件解析過程分析 .................................................. 35
2.1.1 解析<properties>節(jié)點(diǎn) .................................................... 39
2.1.2 解析<settings>節(jié)點(diǎn) ...................................................... 42
2.1.3 設(shè)置<settings>內(nèi)容到 Configuration 中 .................................... 61
2.1.4 解析<typeAliases>節(jié)點(diǎn) ................................................... 62
2.1.5 解析<plugins>節(jié)點(diǎn) ....................................................... 69
2.1.6 解析<environments>節(jié)點(diǎn) .................................................. 70
2.1.7 解析<typeHandlers>節(jié)點(diǎn) .................................................. 72
2.2 本章小結(jié) .............................................................. 79
第 3 章 映射文件解析過程 .................................................. 80
3.1 映射文件解析解析入口 .................................................. 80
3.2 解析映射文件 .......................................................... 84
3.2.1 解析<cache>節(jié)點(diǎn) ......................................................... 86
3.2.2 解析<cache-ref>節(jié)點(diǎn) ..................................................... 93
3.2.3 解析<resultMap>節(jié)點(diǎn) ..................................................... 96
3.2.4 解析<sql>節(jié)點(diǎn) .......................................................... 115
3.2.5 解析 SQL 語句節(jié)點(diǎn) ....................................................... 119
3.3 Mapper 接口綁定過程分析 .............................................. 137
3.4 處理未完成解析的節(jié)點(diǎn) ................................................. 139
3.5 本章小結(jié) ............................................................. 142
第 4 章 SQL 執(zhí)行流程 ...................................................... 143
4.1 SQL 執(zhí)行入口 ......................................................... 144
4.1.1 為 Mapper 接口創(chuàng)建代理對(duì)象 .............................................. 144
4.1.2 執(zhí)行代理邏輯 ........................................................... 146
4.2 查詢語句的執(zhí)行過程 ................................................... 158
4.2.1 selectOne 方法分析 ..................................................... 159
4.2.2 獲取 BoundSql........................................................... 166
4.2.3 創(chuàng)建 StatementHandler................................................... 187
4.2.4 設(shè)置運(yùn)行時(shí)參數(shù)到 SQL 中 ................................................. 189
4.2.5 #{}占位符的解析與參數(shù)的設(shè)置過程梳理.................................... 194
4.2.6 處理查詢結(jié)果 ........................................................... 196
4.3 更新語句的執(zhí)行過程 ................................................... 231
4.3.1 更新語句執(zhí)行過程全貌 ................................................... 231
4.3.2 KeyGenerator........................................................... 236
4.3.3 處理更新結(jié)果 ........................................................... 242
4.4 SQL 執(zhí)行過程總結(jié) ..................................................... 243
4.5 本章小結(jié) ............................................................. 244
第 5 章 內(nèi)置數(shù)據(jù)源 ....................................................... 245
5.1 內(nèi)置數(shù)據(jù)源初始化過程 ................................................. 245
5.2 UnpooledDataSource................................................... 248
5.2.1 初始化數(shù)據(jù)庫驅(qū)動(dòng)....................................................... 249
5.2.2 獲取數(shù)據(jù)庫連接......................................................... 250
5.3 PooledDataSource..................................................... 252
5.3.1 輔助類介紹............................................................. 252
5.3.2 獲取連接............................................................... 255
5.3.3 回收連接............................................................... 260
5.4 本章小結(jié) ............................................................. 263
第 6 章 緩存機(jī)制 ......................................................... 264
6.1 緩存類介紹 ........................................................... 264
6.1.1 PerpetualCache......................................................... 265
6.1.2 LruCache............................................................... 267
6.1.3 BlockingCache.......................................................... 270
6.2 CacheKey............................................................. 273
6.3 一級(jí)緩存 ............................................................. 276
6.4 二級(jí)緩存 ............................................................. 280
6.5 本章小結(jié) ............................................................. 294
第 7 章 插件機(jī)制 ......................................................... 295
7.1 插件機(jī)制原理......................................................... 295
7.1.1 植入插件邏輯 ........................................................... 296
7.1.2 執(zhí)行插件邏輯 ........................................................... 300
7.2 實(shí)現(xiàn)一個(gè)分頁插件 ..................................................... 302
7.3 本章小結(jié) ............................................................. 306
附錄 MyBatis 源碼分析系列文章列表 ........................................ 307