深入浅出MyBatis技术原理与实战 中文目录 博客分类: 技术书籍 mybatisspring
程序员文章站
2024-03-14 08:00:22
...
作者: 杨开振 http://blog.csdn.net/ykzhen2015
封面 1
前言 5
目录 8
第1章 MyBatis 简介 13
1.1 传统的JDBC 编程 13
1.2 ORM 模型 16
1.3 Hibernate 16
1.4 MyBatis 21
1.5 什么时候用MyBatis 24
第2章 MyBaits 入门 25
2.1 开发环境准备. 25
2.1.1 下载MyBatis 25
2.1.2 搭建开发环境 26
2.2 MyBatis 的基本构成 27
2.2.1 构建SqlSessionFactory 27
2.2.2 创建SqlSession 31
2.2.3 映射器 33
2.3 生命周期. 38
2.3.1 SqlSessionFactoryBuilder 39
2.3.2 SqlSessionFactory 39
2.3.3 SqlSession 39
2.3.4 Mapper 40
2.4 实例 40
第3章 配置 49
3.1 properties 元素 50
3.1.1 property 子元素. 50
3.1.2 properties 配置文件 51
3.1.3 程序参数传递 51
3.1.4 优先级 52
3.2 设置 53
3.3 别名 56
3.3.1 系统定义别名 56
3.3.2 自定义别名 59
3.4 typeHandler 类型处理器. 60
3.4.1 系统定义的typeHandler 61
3.4.2 自定义typeHandler 63
3.4.3 枚举类型typeHandler 67
3.5 ObjectFactory 74
3.6 插件 77
3.7 environments 配置环境 77
3.7.1 概述 77
3.7.2 数据库事务 78
3.7.3 数据源 79
3.8 databaseIdProvider 数据库厂商标识 80
3.8.1 使用系统默认规则 80
3.8.2 不使用系统默认规则 81
3.9 引入映射器的方法 83
第4章 映射器 85
4.1 映射器的主要元素 85
4.2 select 元素 86
4.2.1 概述 86
4.2.2 简易数据类型的例子 87
4.2.3 自动映射. 88
4.2.4 传递多个参数 90
4.2.5 使用resultMap 映射结果集 93
4.3 insert 元素 94
4.3.1 概述 94
4.3.2 主键回填和自定义 95
4.4 update 元素和delete 元素 97
4.5 参数 97
4.5.1 参数配置. 98
4.5.2 存储过程支持 98
4.5.3 特殊字符串替换和处理(#和$) 99
4.6 sql 元素 100
4.7 resultMap 结果映射集 101
4.7.1 resultMap 元素的构成 101
4.7.2 使用map 存储结果集 103
4.7.3 使用POJO 存储结果集 103
4.7.4 级联 104
4.8 缓存cache 125
4.8.1 系统缓存(一级缓存和二级缓存) 125
4.8.2 自定义缓存 129
第5章 动态SQL 131
5.1 概述 131
5.2 if 元素 132
5.3 choose、when、otherwise 元素 132
5.4 trim、where、set 元素 133
5.5 foreach 元素 135
5.6 test 的属性 136
5.7 bind 元素 137
第6章 MyBatis 的解析和运行原理 139
6.1 涉及的技术难点简介 140
6.1.1 反射技术 141
6.1.2 JDK 动态代理. 142
6.1.3 CGLIB 动态代理 145
6.2 构建SqlSessionFactory 过程 146
6.2.1 构建Configuration 147
6.2.2 映射器的内部组成 148
6.2.3 构建SqlSessionFactory 150
6.3 SqlSession 运行过程 150
6.3.1 映射器的动态代理 150
6.3.2 SqlSession 下的四大对象. 154
6.3.3 SqlSession 运行总结 162
第7章 插件. 164
7.1 插件接口 164
7.2 插件的初始化 165
7.3 插件的代理和反射设计 166
7.4 常用的工具类--MetaObject 169
7.5 插件开发过程和实例 171
7.5.1 确定需要拦截的签名 171
7.5.2 实现拦截方法. 173
7.5.3 配置和运行 174
7.5.4 插件实例 175
7.6 总结 178
第8章 MyBatis-Spring 180
8.1 Spring 的基础知识. 180
8.1.1 Spring IOC 基础 181
8.1.2 Spring AOP 基础 183
8.1.3 Spring 事务管理 185
8.1.4 Spring MVC 基础 191
8.2 MyBatis-Spring 应用 193
8.2.1 概述 193
8.2.2 配置SqlSessionFactory 194
8.2.3 配置SqlSessionTemplate 196
8.2.4 配置Mapper 200
8.2.5 配置事务 202
8.3 实例 203
8.3.1 环境准备 203
8.3.2 文件目录 205
8.3.3 Spring 配置文件 206
8.3.4 MyBatis 框架相关配置 210
8.3.5 配置服务层 217
8.3.6 编写控制器 221
8.3.7 测试 222
8.4 总结 222
第9章 实用的场景 224
9.1 数据库BLOB 字段读写 224
9.2 批量更新 227
9.3 调用存储过程 229
9.3.1 存储过程in 和out 参数的使用 229
9.3.2 存储过程游标. 232
9.4 分表 237
9.5 分页 239
9.5.1 RowBounds 分页 239
9.5.2 插件分页 241
9.6 上传文件到服务器 251
9.7 在映射中使用枚举 259
9.8 多对多级联 261
9.9 总结 265
附录A 数据库模型描述与级联学生关系建表语句 266
封面 1
前言 5
目录 8
第1章 MyBatis 简介 13
1.1 传统的JDBC 编程 13
1.2 ORM 模型 16
1.3 Hibernate 16
1.4 MyBatis 21
1.5 什么时候用MyBatis 24
第2章 MyBaits 入门 25
2.1 开发环境准备. 25
2.1.1 下载MyBatis 25
2.1.2 搭建开发环境 26
2.2 MyBatis 的基本构成 27
2.2.1 构建SqlSessionFactory 27
2.2.2 创建SqlSession 31
2.2.3 映射器 33
2.3 生命周期. 38
2.3.1 SqlSessionFactoryBuilder 39
2.3.2 SqlSessionFactory 39
2.3.3 SqlSession 39
2.3.4 Mapper 40
2.4 实例 40
第3章 配置 49
3.1 properties 元素 50
3.1.1 property 子元素. 50
3.1.2 properties 配置文件 51
3.1.3 程序参数传递 51
3.1.4 优先级 52
3.2 设置 53
3.3 别名 56
3.3.1 系统定义别名 56
3.3.2 自定义别名 59
3.4 typeHandler 类型处理器. 60
3.4.1 系统定义的typeHandler 61
3.4.2 自定义typeHandler 63
3.4.3 枚举类型typeHandler 67
3.5 ObjectFactory 74
3.6 插件 77
3.7 environments 配置环境 77
3.7.1 概述 77
3.7.2 数据库事务 78
3.7.3 数据源 79
3.8 databaseIdProvider 数据库厂商标识 80
3.8.1 使用系统默认规则 80
3.8.2 不使用系统默认规则 81
3.9 引入映射器的方法 83
第4章 映射器 85
4.1 映射器的主要元素 85
4.2 select 元素 86
4.2.1 概述 86
4.2.2 简易数据类型的例子 87
4.2.3 自动映射. 88
4.2.4 传递多个参数 90
4.2.5 使用resultMap 映射结果集 93
4.3 insert 元素 94
4.3.1 概述 94
4.3.2 主键回填和自定义 95
4.4 update 元素和delete 元素 97
4.5 参数 97
4.5.1 参数配置. 98
4.5.2 存储过程支持 98
4.5.3 特殊字符串替换和处理(#和$) 99
4.6 sql 元素 100
4.7 resultMap 结果映射集 101
4.7.1 resultMap 元素的构成 101
4.7.2 使用map 存储结果集 103
4.7.3 使用POJO 存储结果集 103
4.7.4 级联 104
4.8 缓存cache 125
4.8.1 系统缓存(一级缓存和二级缓存) 125
4.8.2 自定义缓存 129
第5章 动态SQL 131
5.1 概述 131
5.2 if 元素 132
5.3 choose、when、otherwise 元素 132
5.4 trim、where、set 元素 133
5.5 foreach 元素 135
5.6 test 的属性 136
5.7 bind 元素 137
第6章 MyBatis 的解析和运行原理 139
6.1 涉及的技术难点简介 140
6.1.1 反射技术 141
6.1.2 JDK 动态代理. 142
6.1.3 CGLIB 动态代理 145
6.2 构建SqlSessionFactory 过程 146
6.2.1 构建Configuration 147
6.2.2 映射器的内部组成 148
6.2.3 构建SqlSessionFactory 150
6.3 SqlSession 运行过程 150
6.3.1 映射器的动态代理 150
6.3.2 SqlSession 下的四大对象. 154
6.3.3 SqlSession 运行总结 162
第7章 插件. 164
7.1 插件接口 164
7.2 插件的初始化 165
7.3 插件的代理和反射设计 166
7.4 常用的工具类--MetaObject 169
7.5 插件开发过程和实例 171
7.5.1 确定需要拦截的签名 171
7.5.2 实现拦截方法. 173
7.5.3 配置和运行 174
7.5.4 插件实例 175
7.6 总结 178
第8章 MyBatis-Spring 180
8.1 Spring 的基础知识. 180
8.1.1 Spring IOC 基础 181
8.1.2 Spring AOP 基础 183
8.1.3 Spring 事务管理 185
8.1.4 Spring MVC 基础 191
8.2 MyBatis-Spring 应用 193
8.2.1 概述 193
8.2.2 配置SqlSessionFactory 194
8.2.3 配置SqlSessionTemplate 196
8.2.4 配置Mapper 200
8.2.5 配置事务 202
8.3 实例 203
8.3.1 环境准备 203
8.3.2 文件目录 205
8.3.3 Spring 配置文件 206
8.3.4 MyBatis 框架相关配置 210
8.3.5 配置服务层 217
8.3.6 编写控制器 221
8.3.7 测试 222
8.4 总结 222
第9章 实用的场景 224
9.1 数据库BLOB 字段读写 224
9.2 批量更新 227
9.3 调用存储过程 229
9.3.1 存储过程in 和out 参数的使用 229
9.3.2 存储过程游标. 232
9.4 分表 237
9.5 分页 239
9.5.1 RowBounds 分页 239
9.5.2 插件分页 241
9.6 上传文件到服务器 251
9.7 在映射中使用枚举 259
9.8 多对多级联 261
9.9 总结 265
附录A 数据库模型描述与级联学生关系建表语句 266