<em id="zowmm"><strike id="zowmm"></strike></em>
<thead id="zowmm"><menuitem id="zowmm"></menuitem></thead>
  • <wbr id="zowmm"><menuitem id="zowmm"></menuitem></wbr>
    <tbody id="zowmm"><label id="zowmm"></label></tbody>
    <pre id="zowmm"><menuitem id="zowmm"><pre id="zowmm"></pre></menuitem></pre>
    注冊(cè) | 登錄讀書好,好讀書,讀好書!
    讀書網(wǎng)-DuShu.com
    當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)通用源碼閱讀指導(dǎo)書:MyBatis源碼詳解

    通用源碼閱讀指導(dǎo)書:MyBatis源碼詳解

    通用源碼閱讀指導(dǎo)書:MyBatis源碼詳解

    定 價(jià):¥100.00

    作 者: 易哥 著
    出版社: 電子工業(yè)出版社
    叢編項(xiàng):
    標(biāo) 簽: 暫缺

    ISBN: 9787121391460 出版時(shí)間: 2020-07-01 包裝: 平裝
    開本: 16開 頁數(shù): 400 字?jǐn)?shù):  

    內(nèi)容簡(jiǎn)介

      本書以開源軟件MyBatis的源碼為例,講述程序源碼閱讀的流程、方法、技巧。本書先介紹MyBatis的發(fā)展背景與使用方法讓讀者對(duì)MyBatis建立概括性的認(rèn)識(shí),繼而逐步深入剖析MyBatis的源碼。并在剖析MyBatis源碼的過程講述源碼中所涉及到的編程語言知識(shí)、設(shè)計(jì)模式、架構(gòu)技巧。最終使得讀者在詳細(xì)了解MyBatis源碼的同時(shí)掌握源碼閱讀的基本能力。

    作者簡(jiǎn)介

      易哥,畢業(yè)于浙江大學(xué)、山東大學(xué),高級(jí)軟件系統(tǒng)架構(gòu)師、網(wǎng)絡(luò)工程師、數(shù)據(jù)庫(kù)工程師、軟件測(cè)試工程師、注冊(cè)電氣工程師。在校成績(jī)前1%,獲得國(guó)家獎(jiǎng)學(xué)金兩次,一等獎(jiǎng)學(xué)金四次,科技創(chuàng)新大賽一等獎(jiǎng)三次,以及五四青年科學(xué)獎(jiǎng)等。主要科研方向?yàn)闄C(jī)器學(xué)習(xí)、分布式算法、容錯(cuò)算法在無線傳感網(wǎng)絡(luò)中的應(yīng)用,相關(guān)論文獲得IEEE通信協(xié)會(huì)最佳論文獎(jiǎng)。曾擔(dān)任網(wǎng)站技術(shù)部門負(fù)責(zé)人,具有豐富的互聯(lián)網(wǎng)開發(fā)經(jīng)驗(yàn)。先后設(shè)計(jì)和實(shí)現(xiàn)了眾多系統(tǒng)和平臺(tái),也是活躍的開源開發(fā)者?,F(xiàn)專注軟件系統(tǒng)架構(gòu)設(shè)計(jì)與后端開發(fā),著有書籍《通用源碼閱讀指導(dǎo)書》《高性能架構(gòu)之道》等。

    圖書目錄

    第1篇 背景介紹
    第1章 源碼閱讀 2
    1.1 源碼閱讀的意義 2
    1.2 源碼閱讀的方法 2
    1.3 開源軟件 3
    1.4 MyBatis源碼 4
    1.5 本書結(jié)構(gòu) 5
    1.5.1 背景知識(shí) 5
    1.5.2 文件的指代 5
    1.5.3 方法的指代 8
    第2章 MyBatis概述 10
    2.1 背景介紹 10
    2.1.1 傳統(tǒng)數(shù)據(jù)庫(kù)連接 10
    2.1.2 ORM框架 11
    2.1.3 MyBatis的特點(diǎn) 12
    2.2 快速上手 12
    2.2.1 MyBatis包的引入 14
    2.2.2 MyBatis的簡(jiǎn)單配置 15
    2.2.3 基于MyBatis的數(shù)據(jù)庫(kù)操作 16
    2.3 MyBatis的核心功能分析 17
    第3章 MyBatis運(yùn)行初探 20
    3.1 初始化階段追蹤 23
    3.1.1 靜態(tài)代碼塊的執(zhí)行 23
    3.1.2 獲取InputStream 24
    3.1.3 配置信息讀取 25
    3.1.4 總結(jié) 27
    3.2 數(shù)據(jù)讀寫階段追蹤 27
    3.2.1 獲得SqlSession 27
    3.2.2 映射接口文件與映射文件的綁定 28
    3.2.3 映射接口的代理 28
    3.2.4 SQL語句的查找 31
    3.2.5 查詢結(jié)果緩存 31
    3.2.6 數(shù)據(jù)庫(kù)查詢 33
    3.2.7 處理結(jié)果集 36
    3.2.8 總結(jié) 39
    第4章 MyBatis源碼結(jié)構(gòu)概述 40
    4.1 包結(jié)構(gòu) 40
    4.2 分組結(jié)構(gòu) 40
    第2篇 基礎(chǔ)功能包源碼閱讀
    第5章 exceptions包 44
    5.1 背景知識(shí) 44
    5.1.1 Java的異常 44
    5.1.2 序列化與反序列化 45
    5.2 Exception類 46
    5.3 ExceptionFactory類 47
    第6章 reflection包 48
    6.1 背景知識(shí) 48
    6.1.1 裝飾器模式 48
    6.1.2 反射 50
    6.1.3 Type接口及其子類 54
    6.2 對(duì)象工廠子包 55
    6.3 執(zhí)行器子包 57
    6.4 屬性子包 59
    6.5 對(duì)象包裝器子包 61
    6.6 反射核心類 62
    6.7 反射包裝類 65
    6.8 異常拆包工具 65
    6.9 參數(shù)名解析器 68
    6.10 泛型解析器 69
    第7章 annotations包與lang包 76
    7.1 Java注解詳解 76
    7.2 Param注解分析 78
    第8章 type包 81
    8.1 模板模式 82
    8.2 類型處理器 83
    8.2.1 類型處理器的基類與實(shí)現(xiàn)類 83
    8.2.2 TypeReference類 85
    8.3 類型注冊(cè)表 86
    第9章 io包 89
    9.1 背景知識(shí) 89
    9.1.1 單例模式 89
    9.1.2 代理模式 89
    9.1.3 靜態(tài)代理 90
    9.1.4 VFS 92
    9.2 VFS實(shí)現(xiàn)類 92
    9.2.1 DefaultVFS類 94
    9.2.2 JBoss6VFS類 94
    9.3 類文件的加載 96
    9.4 ResolverUtil類 97
    第10章 logging包 100
    10.1 背景知識(shí) 100
    10.1.1 適配器模式 100
    10.1.2 日志框架與日志級(jí)別 102
    10.1.3 基于反射的動(dòng)態(tài)代理 103
    10.2 Log接口 105
    10.3 Log接口的實(shí)現(xiàn)類 107
    10.4 LogFactory 108
    10.5 JDBC日志打印 109
    第11章 parsing包 113
    11.1 背景知識(shí) 113
    11.1.1 XML文件 113
    11.1.2 XPath 115
    11.2 XML解析 116
    11.3 文檔解析中的變量替換 118
    第3篇 配置解析包源碼閱讀
    第12章 配置解析概述 124
    第13章 binding包 128
    13.1 數(shù)據(jù)庫(kù)操作的接入 128
    13.1.1 數(shù)據(jù)庫(kù)操作的方法化 129
    13.1.2 數(shù)據(jù)庫(kù)操作方法的接入 133
    13.2 抽象方法與數(shù)據(jù)庫(kù)操作節(jié)點(diǎn)的關(guān)聯(lián) 134
    13.3 數(shù)據(jù)庫(kù)操作接入總結(jié) 136
    13.3.1 初始化階段 136
    13.3.2 數(shù)據(jù)讀寫階段 137
    13.4 MyBatis與Spring、Spring Boot的整合 137
    第14章 builder包 139
    14.1 建造者模式 139
    14.2 建造者基類與工具類 142
    14.3 SqlSourceBuilder類與StaticSqlSource類 143
    14.4 CacheRefResolver類和ResultMapResolver類 145
    14.4.1 CacheRefResolver類 145
    14.4.2 ResultMapResolver類 146
    14.5 ParameterExpression類 148
    14.6 XML文件解析 149
    14.6.1 XML文件的聲明解析 150
    14.6.2 配置文件解析 151
    14.6.3 數(shù)據(jù)庫(kù)操作語句解析 153
    14.6.4 Statement解析 155
    14.6.5 引用解析 157
    14.7 注解映射的解析 159
    14.7.1 注解映射的使用 159
    14.7.2 注解映射解析的觸發(fā) 160
    14.7.3 直接注解映射的解析 164
    14.7.4 間接注解映射的解析 164
    第15章 mapping包 169
    15.1 SQL語句處理功能 169
    15.1.1 MappedStatement類 169
    15.1.2 SqlSource類 170
    15.1.3 BoundSql 171
    15.2 輸出結(jié)果處理功能 171
    15.2.1 ResultMap類 172
    15.2.2 ResultMapping類 173
    15.2.3 Discriminator 174
    15.3 輸入?yún)?shù)處理功能 176
    15.4 多數(shù)據(jù)庫(kù)種類處理功能 176
    15.5 其他功能 178
    第16章 scripting包 179
    16.1 OGNL 179
    16.2 語言驅(qū)動(dòng)接口及語言驅(qū)動(dòng)注冊(cè)表 183
    16.3 SQL節(jié)點(diǎn)樹的組建 186
    16.4 SQL節(jié)點(diǎn)樹的解析 189
    16.4.1 OGNL輔助類 189
    16.4.2 表達(dá)式求值器 193
    16.4.3 動(dòng)態(tài)上下文 194
    16.4.4 SQL節(jié)點(diǎn)及其解析 196
    16.5 再論SqlSource 202
    16.5.1 SqlSource的生成 202
    16.5.2 DynamicSqlSource的轉(zhuǎn)化 205
    16.5.3 RawSqlSource的轉(zhuǎn)化 206
    16.5.4 SqlSource接口的實(shí)現(xiàn)類總結(jié) 207
    第17章 datasource包 208
    17.1 背景知識(shí) 208
    17.1.1 java.sql包和javax.sql包 208
    17.1.2 DriverManager 209
    17.1.3 DataSource 209
    17.1.4 Connection 210
    17.1.5 Statement 211
    17.2 數(shù)據(jù)源工廠接口 211
    17.3 JNDI數(shù)據(jù)源工廠 213
    17.4 非池化數(shù)據(jù)源及工廠 214
    17.4.1 非池化數(shù)據(jù)源工廠 214
    17.4.2 非池化數(shù)據(jù)源 216
    17.5 池化數(shù)據(jù)源 218
    17.5.1 池化數(shù)據(jù)源類的屬性 218
    17.5.2 池化連接的給出與收回 220
    17.5.3 池化連接 228
    17.6 論數(shù)據(jù)源工廠 229
    第4篇 核心操作包源碼閱讀
    第18章 jdbc包 232
    18.1 AbstractSQL類與SQL類 232
    18.1.1 SafeAppendable內(nèi)部類 232
    18.1.2 SQLStatement內(nèi)部類 233
    18.1.3 AbstractSQL類 235
    18.1.4 SQL類 236
    18.2 SqlRunner類 237
    18.3 ScriptRunner類 240
    18.4 jdbc包的獨(dú)立性 241
    第19章 cache包 243
    19.1 背景知識(shí) 243
    19.1.1 Java對(duì)象的引用級(jí)別 243
    19.1.2 ReferenceQueue類 244
    19.2 cache包結(jié)構(gòu)與Cache接口 247
    19.3 緩存鍵 248
    19.3.1 緩存鍵的原理 248
    19.3.2 緩存鍵的生成 251
    19.4 緩存的實(shí)現(xiàn)類 252
    19.5 緩存裝飾器 252
    19.5.1 同步裝飾器 253
    19.5.2 日志裝飾器 253
    19.5.3 清理裝飾器 254
    19.5.4 阻塞裝飾器 259
    19.5.5 定時(shí)清理裝飾器 262
    19.5.6 序列化裝飾器 263
    19.6 緩存的組建 264
    19.7 事務(wù)緩存 267
    19.8 MyBatis緩存機(jī)制 271
    19.8.1 一級(jí)緩存 271
    19.8.2 二級(jí)緩存 274
    19.8.3 兩級(jí)緩存機(jī)制 277
    第20章 transaction包 279
    20.1 事務(wù)概述 279
    20.2 事務(wù)接口及工廠 280
    20.3 JDBC事務(wù) 282
    20.4 容器事務(wù) 283
    第21章 cursor包 284
    21.1 Iterable接口與Iterator接口 284
    21.2 MyBatis中游標(biāo)的使用 285
    21.3 游標(biāo)接口 285
    21.4 默認(rèn)游標(biāo) 286
    21.4.1 CursorStatus內(nèi)部類 287
    21.4.2 ObjectWrapperResultHandler內(nèi)部類 287
    21.4.3 CursorIterator內(nèi)部類 288
    21.4.4 DefaultCursor外部類 289
    第22章 executor包 293
    22.1 背景知識(shí) 293
    22.1.1 基于cglib的動(dòng)態(tài)代理 293
    22.1.2 javassist框架的使用 295
    22.1.3 序列化與反序列化中的方法 296
    22.1.4 ThreadLocal 302
    22.1.5 存儲(chǔ)過程 305
    22.1.6 Statement及其子接口 306
    22.2 主鍵自增功能 308
    22.2.1 主鍵自增的配置與生效 308
    22.2.2 Jdbc3KeyGenerator類 310
    22.2.3 SelectKeyGenerator類 312
    22.3 懶加載功能 316
    22.3.1 懶加載功能的使用 316
    22.3.2 懶加載功能的實(shí)現(xiàn) 318
    22.3.3 懶加載功能對(duì)序列化和反序列化的支持 325
    22.4 語句處理功能 329
    22.4.1 MyBatis對(duì)多語句類型的支持 329
    22.4.2 MyBatis的語句處理功能 331
    22.5 參數(shù)處理功能 333
    22.6 結(jié)果處理功能 334
    22.7 結(jié)果集處理功能 336
    22.7.1 MyBatis中多結(jié)果集的處理 337
    22.7.2 結(jié)果集封裝類 340
    22.7.3 結(jié)果集處理器 341
    22.8 執(zhí)行器 347
    22.8.1 執(zhí)行器接口 348
    22.8.2 執(zhí)行器基類與實(shí)現(xiàn)類 348
    22.9 錯(cuò)誤上下文 352
    第23章 session包 355
    23.1 SqlSession及其相關(guān)類 355
    23.1.1 SqlSession的生成鏈 356
    23.1.2 DefaultSqlSession類 357
    23.1.3 SqlSessionManager類 358
    23.2 Configuration類 361
    23.3 其他類 364
    第24章 plugin包 366
    24.1 責(zé)任鏈模式 366
    24.2 MyBatis插件開發(fā) 368
    24.3 MyBatis攔截器平臺(tái) 370
    24.4 MyBatis攔截器鏈與攔截點(diǎn) 373
    第5篇 總結(jié)與展望
    第25章 源碼閱讀總結(jié) 378
    25.1 前期準(zhǔn)備 378
    25.1.1 工具準(zhǔn)備 378
    25.1.2 項(xiàng)目選擇 378
    25.1.3 項(xiàng)目使用 379
    25.2 項(xiàng)目初探 379
    25.3 源碼閱讀 380
    25.3.1 模塊分析 380
    25.3.2 模塊歸類 380
    25.3.3 自底向上 380
    25.3.4 合理猜測(cè) 381
    25.3.5 類比閱讀 381
    25.3.6 善于匯總 381
    25.3.7 網(wǎng)格閱讀 382
    第26章 優(yōu)秀開源項(xiàng)目推薦 383
    26.1 Guava 383
    26.2 Tomcat 384
    26.3 Redis 384
    26.4 Dubbo 385
    26.5 React 385

    本目錄推薦

    掃描二維碼
    Copyright ? 讀書網(wǎng) www.leeflamesbasketballcamps.com 2005-2026, All Rights Reserved.
    鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)