书籍详情
手写MyBatis:渐进式源码实践
作者:付政委
出版社:电子工业出版社
出版时间:2023-02-01
ISBN:9787121448393
定价:¥128.00
购买这本书可以去
内容简介
本书基于MyBatis的核心逻辑,通过实现简单版MyBatis的方式,对MyBatis进行分析、设计和实践。本书以实践为核心,摒弃MyBatis源码中繁杂的内容,聚焦于MyBaits中的核心逻辑,简化代码实现过程,以渐进式的开发方式,逐步实现MyBaits中的核心功能。从解析、绑定、反射、缓存,到会话和事务操作,再到如何与Spring、Spring Boot进行关联注册Bean对象,达到整合部分功能的目的。读者可以把此次学习当作开发一个项目,由此可以看到MyBatis从无到有,再到完善和整合的全过程。 本书既可以作为计算机相关行业研发人员的辅导书,也可以作为高等院校计算机专业学生的参考书。无论是初学者,还是中级和高级研发人员,都能从本书中获得启发。
作者简介
付政委(小傅哥)作为一名一线互联网Java工程师、架构师,曾开发过交易、营销类项目,运营、活动类项目,设计过中间件,组织过系统重构,编写过技术专利。他不仅从事业务系统的开发工作,也经常做一些字节码插桩类的设计和实现,对架构的设计和落地具有丰富的经验。他既热衷于Java语言,也喜欢研究中继器、I/O板卡、C#和PHP,是一名活跃的技术“折腾者”。常逛GitHub,乐于分享技术文章。沉淀、分享、成长,让自己和他人都能有所收获!
目录
引言 / 1
第1章 实现一个简单的ORM框架 / 6
1.1 ORM框架实现的说明 / 6
1.2 简单ORM框架的设计 / 7
1.3 简单ORM框架的实现 / 7
1.4 ORM框架的功能测试 / 15
1.5 总结 / 18
第2章 创建简单的映射器代理工厂 / 19
2.1 ORM框架的执行过程 / 19
2.2 映射器代理的设计 / 20
2.3 映射器代理的实现 / 20
2.4 DAO接口代理的测试 / 23
2.5 总结 / 24
第3章 映射器的注册和使用 / 25
3.1 会话模型的思考 / 25
3.2 会话模型的设计 / 26
3.3 会话模型的实现 / 27
3.4 会话模型的测试 / 32
3.5 总结 / 33
第4章 XML的解析和注册 / 34
4.1 ORM框架的核心流程 / 34
4.2 XML操作的设计 / 35
4.3 XML操作的实现 / 36
4.4 XML配置的测试 / 41
4.5 总结 / 42
第5章 数据源的创建和使用 / 43
5.1 执行SQL语句的介绍 / 43
5.2 数据源解析的设计 / 44
5.3 数据源解析的实现 / 44
5.4 数据源使用的测试 / 53
5.5 总结 / 55
第6章 数据源池化技术的实现 / 56
6.1 池化技术的思考 / 56
6.2 池化技术的设计 / 56
6.3 池化技术的实现 / 57
6.4 数据源使用的测试 / 67
6.5 总结 / 72
第7章 SQL执行器的定义和实现 / 73
7.1 会话执行SQL的分析 / 73
7.2 执行器模块的设计 / 74
7.3 执行器模块的实现 / 75
7.4 功能流程的测试 / 84
7.5 总结 / 86
第8 章 元对象反射工具包 / 87
8.1 反射工具包的用途 / 87
8.2 反射工具包的设计 / 88
8.3 反射工具包的实现 / 89
8.4 反射工具包的测试 / 99
8.5 总结 / 103
第9 章 细化XML 语句构建器 / 104
9.1 XML 解析过度耦合 / 104
9.2 XML 语句解析的设计 / 105
9.3 XML 语句解析的实现 / 107
9.4 XML 语句解析的测试 / 116
9.5 总结 / 118
第10 章 封装参数设置处理器 / 119
10.1 参数处理的分析 / 119
10.2 参数处理的设计 / 120
10.3 参数处理的实现 / 122
10.4 参数功能的测试 / 131
10.5 总结 / 135
第11 章 封装结果集处理器 / 136
11.1 参数处理的分析 / 136
11.2 参数处理的设计 / 137
11.3 参数处理的实现 / 139
11.4 功能流程的测试 / 148
11.5 总结 / 150
第12 章 完善框架的增、删、改、查操作 / 151
12.1 会话功能的分析 / 151
12.2 会话功能的设计 / 152
12.3 会话功能的实现 / 154
12.4 会话功能的测试 / 164
12.5 总结 / 169
第13 章 通过注解配置执行SQL语句 / 170
13.1 注解配置的思考 / 170
13.2 注解配置的设计 / 171
13.3 注解配置的实现 / 173
13.4 注解配置的测试 / 181
13.5 总结 / 186
第14 章 ResultMap 映射参数的配置 / 187
14.1 字段映射配置的分析 / 187
14.2 字段映射配置的设计 / 188
14.3 字段映射配置的实现 / 190
14.4 字段映射配置的测试 / 199
14.5 总结 / 203
第15 章 返回insert 操作自增索引值 / 204
15.1 分析两条SQL 语句 / 204
15.2 获取自增索引的设计 / 205
15.3 获取自增索引的实现 / 206
15.4 获取自增索引的测试 / 214
15.5 总结 / 216
第16 章 解析动态SQL 语句 / 218
16.1 动态SQL 语句的使用场景 / 218
16.2 解析动态SQL 语句的设计 / 219
16.3 解析动态SQL 语句的实现 / 220
16.4 解析动态SQL 语句的测试 / 228
16.5 总结 / 230
第17 章 插件功能 / 232
17.1 插件功能的分析 / 232
17.2 插件功能的设计 / 233
17.3 插件功能的实现 / 233
17.4 插件功能的测试 / 242
17.5 总结 / 244
第18 章 一级缓存 / 246
18.1 缓存使用的思考 / 246
18.2 一级缓存的设计 / 246
18.3 一级缓存的实现 / 248
18.4 一级缓存的测试 / 259
18.5 总结 / 263
第19 章 二级缓存 / 265
19.1 二级缓存的思考 / 265
19.2 二级缓存的设计 / 266
19.3 二级缓存的实现 / 267
19.4 二级缓存的测试 / 277
19.5 总结 / 281
第20 章 整合Spring / 282
20.1 框架整合的介绍 / 282
20.2 框架整合的设计 / 282
20.3 框架整合的实现 / 283
20.4 框架整合的测试 / 287
20.5 总结 / 291
第21 章 整合Spring Boot / 292
21.1 组件整合的介绍 / 292
21.2 组件整合的设计 / 292
21.3 组件整合的实现 / 293
21.4 组件整合的测试 / 299
21.5 总结 / 302
第22 章 设计模式总结 / 303
22.1 类型:创建型模式 / 303
22.2 类型:结构型模式 / 308
22.3 类型:行为型模式 / 315
22.4 总结 / 320
第1章 实现一个简单的ORM框架 / 6
1.1 ORM框架实现的说明 / 6
1.2 简单ORM框架的设计 / 7
1.3 简单ORM框架的实现 / 7
1.4 ORM框架的功能测试 / 15
1.5 总结 / 18
第2章 创建简单的映射器代理工厂 / 19
2.1 ORM框架的执行过程 / 19
2.2 映射器代理的设计 / 20
2.3 映射器代理的实现 / 20
2.4 DAO接口代理的测试 / 23
2.5 总结 / 24
第3章 映射器的注册和使用 / 25
3.1 会话模型的思考 / 25
3.2 会话模型的设计 / 26
3.3 会话模型的实现 / 27
3.4 会话模型的测试 / 32
3.5 总结 / 33
第4章 XML的解析和注册 / 34
4.1 ORM框架的核心流程 / 34
4.2 XML操作的设计 / 35
4.3 XML操作的实现 / 36
4.4 XML配置的测试 / 41
4.5 总结 / 42
第5章 数据源的创建和使用 / 43
5.1 执行SQL语句的介绍 / 43
5.2 数据源解析的设计 / 44
5.3 数据源解析的实现 / 44
5.4 数据源使用的测试 / 53
5.5 总结 / 55
第6章 数据源池化技术的实现 / 56
6.1 池化技术的思考 / 56
6.2 池化技术的设计 / 56
6.3 池化技术的实现 / 57
6.4 数据源使用的测试 / 67
6.5 总结 / 72
第7章 SQL执行器的定义和实现 / 73
7.1 会话执行SQL的分析 / 73
7.2 执行器模块的设计 / 74
7.3 执行器模块的实现 / 75
7.4 功能流程的测试 / 84
7.5 总结 / 86
第8 章 元对象反射工具包 / 87
8.1 反射工具包的用途 / 87
8.2 反射工具包的设计 / 88
8.3 反射工具包的实现 / 89
8.4 反射工具包的测试 / 99
8.5 总结 / 103
第9 章 细化XML 语句构建器 / 104
9.1 XML 解析过度耦合 / 104
9.2 XML 语句解析的设计 / 105
9.3 XML 语句解析的实现 / 107
9.4 XML 语句解析的测试 / 116
9.5 总结 / 118
第10 章 封装参数设置处理器 / 119
10.1 参数处理的分析 / 119
10.2 参数处理的设计 / 120
10.3 参数处理的实现 / 122
10.4 参数功能的测试 / 131
10.5 总结 / 135
第11 章 封装结果集处理器 / 136
11.1 参数处理的分析 / 136
11.2 参数处理的设计 / 137
11.3 参数处理的实现 / 139
11.4 功能流程的测试 / 148
11.5 总结 / 150
第12 章 完善框架的增、删、改、查操作 / 151
12.1 会话功能的分析 / 151
12.2 会话功能的设计 / 152
12.3 会话功能的实现 / 154
12.4 会话功能的测试 / 164
12.5 总结 / 169
第13 章 通过注解配置执行SQL语句 / 170
13.1 注解配置的思考 / 170
13.2 注解配置的设计 / 171
13.3 注解配置的实现 / 173
13.4 注解配置的测试 / 181
13.5 总结 / 186
第14 章 ResultMap 映射参数的配置 / 187
14.1 字段映射配置的分析 / 187
14.2 字段映射配置的设计 / 188
14.3 字段映射配置的实现 / 190
14.4 字段映射配置的测试 / 199
14.5 总结 / 203
第15 章 返回insert 操作自增索引值 / 204
15.1 分析两条SQL 语句 / 204
15.2 获取自增索引的设计 / 205
15.3 获取自增索引的实现 / 206
15.4 获取自增索引的测试 / 214
15.5 总结 / 216
第16 章 解析动态SQL 语句 / 218
16.1 动态SQL 语句的使用场景 / 218
16.2 解析动态SQL 语句的设计 / 219
16.3 解析动态SQL 语句的实现 / 220
16.4 解析动态SQL 语句的测试 / 228
16.5 总结 / 230
第17 章 插件功能 / 232
17.1 插件功能的分析 / 232
17.2 插件功能的设计 / 233
17.3 插件功能的实现 / 233
17.4 插件功能的测试 / 242
17.5 总结 / 244
第18 章 一级缓存 / 246
18.1 缓存使用的思考 / 246
18.2 一级缓存的设计 / 246
18.3 一级缓存的实现 / 248
18.4 一级缓存的测试 / 259
18.5 总结 / 263
第19 章 二级缓存 / 265
19.1 二级缓存的思考 / 265
19.2 二级缓存的设计 / 266
19.3 二级缓存的实现 / 267
19.4 二级缓存的测试 / 277
19.5 总结 / 281
第20 章 整合Spring / 282
20.1 框架整合的介绍 / 282
20.2 框架整合的设计 / 282
20.3 框架整合的实现 / 283
20.4 框架整合的测试 / 287
20.5 总结 / 291
第21 章 整合Spring Boot / 292
21.1 组件整合的介绍 / 292
21.2 组件整合的设计 / 292
21.3 组件整合的实现 / 293
21.4 组件整合的测试 / 299
21.5 总结 / 302
第22 章 设计模式总结 / 303
22.1 类型:创建型模式 / 303
22.2 类型:结构型模式 / 308
22.3 类型:行为型模式 / 315
22.4 总结 / 320
猜您喜欢