MyBatis技术内幕

《MyBatis技术内幕》以MyBatis 3.4为基础,针对MyBatis的架构设计和实现细节进行了详细分析,其中穿插介绍了MyBatis源码中涉及的基础知识、设计模式以及笔者自己在实践中的思考。《MyBatis技术内幕》共4章,从MyBatis快速入门开始,逐步分析了MyBatis的整体架构以及核心概念,对MyBatis的基础支持层、核心处理层中各个模块的功能和实现细节进行了深入的剖析。除此之外,还分析了MyBatis插件的应用场景和实现原理,介绍了MyBatis与Spring集成开发的示例和原理,以及一些实践中的小技巧和小工具的使用方法。

《MyBatis技术内幕》旨在为读者理解MyBatis的设计原理、阅读MyBatis源码、扩展MyBatis功能提供帮助和指导,让读者更加深入地了解MyBatis的运行原理、设计理念。希望《MyBatis技术内幕》能够帮助读者全面提升自身的技术能力,让读者在设计业务系统时,可以参考MyBatis的优秀设计,更好地应用MyBatis。


=============================

徐郡明,武汉大学硕士,目前就职于航天科技集团旗下某研究所,主要负责政企云平台基础架构的设计和研发工作,关注多项Java开源技术的发展。

目录  · · · · · ·

第1章 MyBatis快速入门
1.1 ORM简介
1.2 常见持久化框架
1.3 MyBatis示例
1.4 MyBatis整体架构
1.4.1 基础支持层
1.4.2 核心处理层
1.4.3 接口层
1.5 本章小结
第2章 基础支持层
2.1 解析器模块
2.1.1 XPath简介
2.1.2 XPathParser
2.2 反射工具箱
2.2.1 Reflector&ReflectorFactory
2.2.2 TypeParameterResolver
2.2.3 ObjectFactory
2.2.4 Property工具集
2.2.5 MetaClass
2.2.6 ObjectWrapper
2.2.7 MetaObject
2.3 类型转换
2.3.1 TypeHandler
2.3.2 TypeHandlerRegistry
2.3.3 TypeAliasRegistry
2.4 日志模块
2.4.1 适配器模式
2.4.2 日志适配器
2.4.3 代理模式与JDK动态代理
2.4.4 JDBC调试
2.5 资源加载
2.5.1 类加载器简介
2.5.2 ClassLoaderWrapper
2.5.3 ResolverUtil
2.5.4 单例模式
2.5.5 VFS
2.6 DataSource
2.6.1 工厂方法模式
2.6.2 DataSourceFactory
2.6.3 UnpooledDataSource
2.6.4 PooledDataSource
2.7 Transaction
2.8 binding模块
2.8.1 MapperRegistry&MapperProxyFactory
2.8.2 MapperProxy
2.8.3 MapperMethod
2.9 缓存模块
2.9.1 装饰器模式
2.9.2 Cache接口及其实现
2.9.3 CacheKey
2.10 本章小结
第3章 核心处理层
3.1 MyBatis初始化
3.1.1 建造者模式
3.1.2 BaseBuilder
3.1.3 XMLConfigBuilder
3.1.4 XMLMapperBuilder
3.1.5 XMLStatementBuilder
3.1.6 绑定Mapper接口
3.1.7 处理incomplete*集合
3.2 SqlNode&SqlSource
3.2.1 组合模式
3.2.2 OGNL表达式简介
3.2.3 DynamicContext
3.2.4 SqlNode
3.2.5 SqlSourceBuilder
3.2.6 DynamicSqlSource
3.2.7 RawSqlSource
3.3 ResultSetHandler
3.3.1 handleResultSets()方法
3.3.2 ResultSetWrapper
3.3.3 简单映射
3.3.4 嵌套映射
3.3.5 嵌套查询&延迟加载
3.3.6 多结果集处理
3.3.7 游标
3.3.8 输出类型的参数
3.4 KeyGenerator
3.4.1 Jdbc3KeyGenerator
3.4.2 SelectkeyGenerator
3.5 StatementHandler
3.5.1 RoutingStatementHandler
3.5.2 BaseStatementHandler
3.5.3 ParameterHandler
3.5.4 SimpleStatementHandler
3.5.5 PreparedStatementHandler
3.6 Executor
3.6.1 模板方法模式
3.6.2 BaseExecutor
3.6.3 SimpleExecutor
3.6.4 ReuseExecutor
3.6.5 BatchExecutor
3.6.6 CachingExecutor
3.7 接口层
3.7.1 策略模式
3.7.2 SqlSession
3.7.3 DefaultSqlSessionFactory
3.7.4 SqlSessionManager
3.8 本章小结
第4章 高级主题
4.1 插件模块
4.1.1 责任链模式
4.1.2 Interceptor
4.1.3 应用场景分析
4.2 MyBatis与Spring集成
4.2.1 Spring基本概念
4.2.2 Spring MVC介绍
4.2.3 集成环境搭建
4.2.4 Mybatis-Spring剖析
4.3 拾遗
4.3.1 应用节点
4.3.2 OgnlUtils工具类
4.3.3 SQL语句生成器
4.3.4 动态SQL脚本插件
4.3.5 MyBatis-Generator逆向工程
4.4 本章小结

=============================

以开源的技术来学习设计模式,自己写一个小型的开源框架,使用框架,写框架方式来学习更深层的技术。

猜你喜欢

转载自blog.csdn.net/cxzhq2002/article/details/79320210