通用源码阅读指导书(MyBatis源码详解)
①全新正版,现货速发,7天无理由退换货②天津、成都、无锡、广东等多仓就近发货,订单最迟48小时内发出③无法指定快递④可开电子发票,不清楚的请咨询客服。
¥
49.64
5.0折
¥
100
全新
仅1件
作者编者:易哥|责编:李冰
出版社电子工业
ISBN9787121391460
出版时间2020-08
装帧其他
开本其他
定价100元
货号30917443
上书时间2024-10-13
商品详情
- 品相描述:全新
- 商品描述
-
目录
第1篇 背景介绍
第1章 源码阅读2
1.1 源码阅读的意义2
1.2 源码阅读的方法2
1.3 开源软件3
1.4 MyBatis源码4
1.5 本书结构5
1.5.1 背景知识5
1.5.2 文件的指代5
1.5.3 方法的指代8
第2章 MyBatis概述10
2.1 背景介绍10
2.1.1 传统数据库连接10
2.1.2 ORM框架11
2.1.3 MyBatis的特点12
2.2 快速上手12
2.2.1 MyBatis包的引入14
2.2.2 MyBatis的简单配置15
2.2.3 基于MyBatis的数据库操作16
2.3 MyBatis的核心功能分析17
第3章 MyBatis运行初探20
3.1 初始化阶段追踪23
3.1.1 静态代码块的执行23
3.1.2 获取InputStream24
3.1.3 配置信息读取25
3.1.4 总结27
3.2 数据读写阶段追踪27
3.2.1 获得SqlSession27
3.2.2 映射接口文件与映射文件的绑定28
3.2.3 映射接口的代理28
3.2.4 SQL语句的查找31
3.2.5 查询结果缓存31
3.2.6 数据库查询33
3.2.7 处理结果集36
3.2.8 总结39
第4章 MyBatis源码结构概述40
4.1 包结构40
4.2 分组结构40
第2篇 基础功能包源码阅读
第5章 exceptions包44
5.1 背景知识44
5.1.1 Java的异常44
5.1.2 序列化与反序列化45
5.2 Exception类46
5.3 ExceptionFactory类47
第6章 reflection包48
6.1 背景知识48
6.1.1 装饰器模式48
6.1.2 反射50
6.1.3 Type接口及其子类54
6.2 对象工厂子包55
6.3 执行器子包57
6.4 属性子包59
6.5 对象包装器子包61
6.6 反射核心类62
6.7 反射包装类65
6.8 异常拆包工具65
6.9 参数名解析器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 类型处理器的基类与实现类83
8.2.2 TypeReference类85
8.3 类型注册表86
第9章 io包89
9.1 背景知识89
9.1.1 单例模式89
9.1.2 代理模式89
9.1.3 静态代理90
9.1.4 VFS92
9.2 VFS实现类92
9.2.1 DefaultVFS类94
9.2.2 JBoss6VFS类94
9.3 类文件的加载96
9.4 ResolverUtil类97
第10章 logging包100
10.1 背景知识100
10.1.1 适配器模式100
10.1.2 日志框架与日志级别102
10.1.3 基于反射的动态代理103
10.2 Log接口105
10.3 Log接口的实现类107
10.4 LogFactory108
10.5 JDBC日志打印109
第11章 parsing包113
11.1 背景知识113
11.1.1 XML文件113
11.1.2 XPath115
11.2 XML解析116
11.3 文档解析中的变量替换118
第3篇 配置解析包源码阅读
第12章 配置解析概述124
第13章 binding包128
13.1 数据库操作的接入128
13.1.1 数据库操作的方法化129
13.1.2 数据库操作方法的接入133
13.2 抽象方法与数据库操作节点的关联134
13.3 数据库操作接入总结136
13.3.1 初始化阶段136
13.3.2 数据读写阶段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 数据库操作语句解析153
14.6.4 Statement解析155
14.6.5 引用解析157
14.7 注解映射的解析159
14.7.1 注解映射的使用159
14.7.2 注解映射解析的触发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 BoundSql171
15.2 输出结果处理功能171
15.2.1 ResultMap类172
15.2.2 ResultMapping类173
15.2.3 Discriminator174
15.3 输入参数处理功能176
15.4 多数据库种类处理功能176
15.5 其他功能178
第16章 scripting包179
16.1 OGNL179
16.2 语言驱动接口及语言驱动注册表183
16.3 SQL节点树的组建186
16.4 SQL节点树的解析189
16.4.1 OGNL辅助类189
16.4.2 表达式求值器193
16.4.3 动态上下文194
16.4.4 SQL节点及其解析196
16.5 再论SqlSource202
16.5.1 SqlSource的生成202
16.5.2 DynamicSqlSource的转化205
16.5.3 RawSqlSource的转化206
16.5.4 SqlSource接口的实现类总结207
第17章 datasource包208
17.1 背景知识208
17.1.1 java.sql包和javax.sql包208
17.1.2 DriverManager209
17.1.3 DataSource209
17.1.4 Connection210
17.1.5 Statement211
17.2 数据源工厂接口211
17.3 JNDI数据源工厂213
17.4 非池化数据源及工厂214
17.4.1 非池化数据源工厂214
17.4.2 非池化数据源216
17.5 池化数据源218
17.5.1 池化数据源类的属性218
17.5.2 池化连接的给出与收回220
17.5.3 池化连接228
17.6 论数据源工厂229
第4篇 核心操作包源码阅读
第18章 jdbc包232
18.1 AbstractSQL类与SQL类232
18.1.1 SafeAppendable内部类232
18.1.2 SQLStatement内部类233
18.1.3 AbstractSQL类235
18.1.4 SQL类236
18.2 SqlRunner类237
18.3 ScriptRunner类240
18.4 jdbc包的独立性241
第19章 cache包243
19.1 背景知识243
19.1.1 Java对象的引用级别243
19.1.2 ReferenceQueue类244
19.2 cache包结构与Cache接口247
19.3 缓存键248
19.3.1 缓存键的原理248
19.3.2 缓存键的生成251
19.4 缓存的实现类252
19.5 缓存装饰器252
19.5.1 同步装饰器253
19.5.2 日志装饰器253
19.5.3 清理装饰器254
19.5.4 阻塞装饰器259
19.5.5 定时清理装饰器262
19.5.6 序列化装饰器263
19.6 缓存的组建264
19.7 事务缓存267
19.8 MyBatis缓存机制271
19.8.1 一级缓存271
19.8.2 二级缓存274
19.8.3 两级缓存机制277
第20章 transaction包279
20.1 事务概述279
20.2 事务接口及工厂280
20.3 JDBC事务282
20.4 容器事务283
第21章 cursor包284
21.1 Iterable接口与Iterator接口284
21.2 MyBatis中游标的使用285
21.3 游标接口285
21.4 默认游标286
21.4.1 Cu
内容摘要
本书以开源软件MyBatis的源码为例,讲述程序源码阅读的流程、方法、技巧。本书先介绍MyBatis的发展背景与使用方法让读者对MyBatis建立概括性的认识,继而逐步深入剖析MyBatis的源码。并在剖析MyBatis源码的过程讲述源码中所涉及到的编程语言知识、设计模式、架构技巧。最终使得读者在详细了解MyBatis源码的同时掌握源码阅读的基本能力。
— 没有更多了 —
以下为对购买帮助不大的评价