MyBatis技術內幕

MyBatis技術內幕

《MyBatis技術內幕》一書由徐郡明 編著,電子工業出版社2017年7月出版

基本介紹

  • 書名:MyBatis技術內幕
  • 作者:徐郡明
  • ISBN:978-7-121-31787-3
  • 頁數:444
  • 定價:79.00
  • 出版社:電子工業出版社
  • 出版時間:2017年7月
  • 開本:16
內容提要,目錄,

內容提要

《MyBatis技術內幕》以MyBatis 3.4為基礎,針對MyBatis的架構設計和實現細節進行了詳細分析,其中穿插介紹了MyBatis源碼中涉及的基礎知識、設計模式以及筆者自己在實踐中的思考。《MyBatis技術內幕》共4章,從MyBatis快速入門開始,逐步分析了MyBatis的整體架構以及核心概念,對MyBatis的基礎支持層、核心處理層中各個模組的功能和實現細節進行了深入的剖析。除此之外,還分析了MyBatis外掛程式的套用場景和實現原理,介紹了MyBatis與Spring集成開發的示例和原理,以及一些實踐中的小技巧和小工具的使用方法。
《MyBatis技術內幕》旨在為讀者理解MyBatis的設計原理、閱讀MyBatis源碼、擴展MyBatis功能提供幫助和指導,讓讀者更加深入地了解MyBatis的運行原理、設計理念。希望《MyBatis技術內幕》能夠幫助讀者全面提升自身的技術能力,讓讀者在設計業務系統時,可以參考MyBatis的優秀設計,更好地套用MyBatis。

目錄

第1章 MyBatis快速入門 1
1.1 ORM簡介 1
1.2 常見持久化框架 3
1.3 MyBatis示例 7
1.4 MyBatis整體架構 10
1.4.1 基礎支持層 11
1.4.2 核心處理層 13
1.4.3 接口層 15
1.5 本章小結 15
第2章 基礎支持層 16
2.1 解析器模組 16
2.1.1 XPath簡介 20
2.1.2 XPathParser 23
2.2 反射工具箱 32
2.2.1 Reflector&ReflectorFactory 32
2.2.2 TypeParameterResolver 40
2.2.3 ObjectFactory 49
2.2.4 Property工具集 51
2.2.5 MetaClass 54
2.2.6 ObjectWrapper 59
2.2.7 MetaObject 62
2.3 類型轉換 66
2.3.1 TypeHandler 67
2.3.2 TypeHandlerRegistry 69
2.3.3 TypeAliasRegistry 77
2.4 日誌模組 79
2.4.1 適配器模式 79
2.4.2 日誌適配器 81
2.4.3 代理模式與JDK動態代理 83
2.4.4 JDBC調試 88
2.5 資源載入 93
2.5.1 類載入器簡介 93
2.5.2 ClassLoaderWrapper 95
2.5.3 ResolverUtil 97
2.5.4 單例模式 100
2.5.5 VFS 104
2.6 DataSource 106
2.6.1 工廠方法模式 107
2.6.2 DataSourceFactory 108
2.6.3 UnpooledDataSource 109
2.6.4 PooledDataSource 112
2.7 Transaction 123
2.8 binding模組 125
2.8.1 MapperRegistry&MapperProxyFactory 126
2.8.2 MapperProxy 128
2.8.3 MapperMethod 130
2.9 快取模組 140
2.9.1 裝飾器模式 141
2.9.2 Cache接口及其實現 143
2.9.3 CacheKey 155
2.10 本章小結 158
第3章 核心處理層 159
3.1 MyBatis初始化 159
3.1.1 建造者模式 160
3.1.2 BaseBuilder 161
3.1.3 XMLConfigBuilder 163
3.1.4 XMLMapperBuilder 173
3.1.5 XMLStatementBuilder 195
3.1.6 綁定Mapper接口 205
3.1.7 處理incomplete*集合 207
3.2 SqlNode&SqlSource 208
3.2.1 組合模式 209
3.2.2 OGNL表達式簡介 210
3.2.3 DynamicContext 214
3.2.4 SqlNode 215
3.2.5 SqlSourceBuilder 229
3.2.6 DynamicSqlSource 233
3.2.7 RawSqlSource 234
3.3 ResultSetHandler 236
3.3.1 handleResultSets()方法 237
3.3.2 ResultSetWrapper 242
3.3.3 簡單映射 244
3.3.4 嵌套映射 260
3.3.5 嵌套查詢&延遲載入 278
3.3.6 多結果集處理 294
3.3.7 游標 298
3.3.8 輸出類型的參數 301
3.4 KeyGenerator 303
3.4.1 Jdbc3KeyGenerator 303
3.4.2 SelectkeyGenerator 306
3.5 StatementHandler 309
3.5.1 RoutingStatementHandler 310
3.5.2 BaseStatementHandler 311
3.5.3 ParameterHandler 312
3.5.4 SimpleStatementHandler 314
3.5.5 PreparedStatementHandler 316
3.6 Executor 317
3.6.1 模板方法模式 318
3.6.2 BaseExecutor 320
3.6.3 SimpleExecutor 329
3.6.4 ReuseExecutor 330
3.6.5 BatchExecutor 332
3.6.6 CachingExecutor 335
3.7 接口層 344
3.7.1 策略模式 346
3.7.2 SqlSession 347
3.7.3 DefaultSqlSessionFactory 349
3.7.4 SqlSessionManager 350
3.8 本章小結 353
第4章 高級主題 354
4.1 外掛程式模組 354
4.1.1 責任鏈模式 354
4.1.2 Interceptor 355
4.1.3 套用場景分析 360
4.2 MyBatis與Spring集成 389
4.2.1 Spring基本概念 389
4.2.2 Spring MVC介紹 391
4.2.3 集成環境搭建 393
4.2.4 Mybatis-Spring剖析 402
4.3 拾遺 413
4.3.1 套用<sql>節點 414
4.3.2 OgnlUtils工具類 418
4.3.3 SQL語句生成器 422
4.3.4 動態SQL腳本外掛程式 424
4.3.5 MyBatis-Generator逆向工程 426
4.4 本章小結 432

相關詞條

熱門詞條

聯絡我們