第1章 MyBatis基础 1
1.1 MyBatis概述 1
1.1.1 传统JDBC的劣势 1
1.1.2 ORM简介 2
1.1.3 MyBatis简介 3
1.1.4 MyBatis的功能架构 3
1.1.5 MyBatis的工作流程 4
1.2 MyBatis的重要API 4
1.3 MyBatis的下载和使用 7
1.4 MyBatis的简单应用 8
1.4.1 搭建开发环境 8
1.4.2 创建POJO类 9
1.4.3 创建配置文件 10
1.4.4 编写测试类 11
1.5 本章小结 17
1.6 习题 17
第2章 MyBatis进阶 19
2.1 MyBatis的配置文件 19
2.1.1 配置文件的结构 19
2.1.2 <properties>元素 20
2.1.3 <settings>元素 21
2.1.4 <typeAliases>元素 24
2.1.5 <typeHandlers>元素 25
2.1.6 <ObjectFactory>元素 27
2.1.7 <environments>元素 27
2.1.8 <mappers>元素 29
2.2 MyBatis的映射文件 30
2.2.1 映射文件的结构 30
2.2.2 <select>元素 31
2.2.3 <insert>元素、<update>元素和<delete>元素 32
2.2.4 <sql>元素 33
2.2.5 <ResultMap>元素 33
2.3 本章小结 34
2.4 习题 34
第3章 MyBatis的关联映射 36
3.1 表与表之间的关系 36
3.2 一对一 37
3.3 一对多 43
3.4 多对多 48
3.5 主键映射 54
3.6 本章小结 56
3.7 习题 56
第4章 动态SQL和注解 58
4.1 动态SQL 58
4.1.1 动态SQL简介 58
4.1.2 <if>元素 58
4.1.3 <choose>、<when>和<otherwise>元素 62
4.1.4 <where>元素 64
4.1.5 <set>元素 65
4.1.6 <trim>元素 67
4.1.7 <foreach>元素 70
4.1.8 <bind>元素 71
4.2 注解 73
4.2.1 简介 73
4.2.2 @Select注解 73
4.2.3 @Insert注解 75
4.2.4 @Update注解 76
4.2.5 @Delete注解 77
4.2.6 @Param注解 78
4.3 本章小结 79
4.4 习题 80
第5章 MyBatis缓存处理 82
5.1 MyBatis的缓存机制 82
5.2 一级缓存 83
5.2.1 一级缓存的原理 83
5.2.2 一级缓存的应用 83
5.3 二级缓存 87
5.3.1 二级缓存的原理 87
5.3.2 二级缓存的配置 88
5.3.3 二级缓存的应用 89
5.4 整合EhCache缓存 92
5.4.1 EhCache简介 92
5.4.2 EhCache下载 93
5.4.3 MyBatis整合EhCache缓存 94
5.5 本章小结 95
5.6 习题 95
第6章 Spring基础 97
6.1 Spring概述 97
6.1.1 Spring简介 97
6.1.2 Spring的优势 97
6.1.3 Spring功能体系 98
6.1.4 Spring子项目 100
6.1.5 Spring 5新特性 101
6.2 Spring的下载及使用 102
6.3 Spring的容器机制 104
6.3.1 容器机制简介 104
6.3.2 BeanFactory接口 104
6.3.3 ApplicaitonContext接口 105
6.3.4 容器的启动过程 105
6.4 Spring的简单应用 106
6.4.1 环境准备 106
6.4.2 创建Bean 106
6.4.3 创建配置文件 107
6.4.4 测试功能 108
6.5 本章小结 110
6.6 习题 111
第7章 使用Spring管理Bean 112
7.1 IOC和DI 112
7.1.1 简介 112
7.1.2 依赖注入的方式 113
7.2 Bean的配置 116
7.2.1 Bean的定义 116
7.2.2 注入集合 117
7.2.3 注入其他Bean 119
7.2.4 使用P:命名空间注入 121
7.2.5 使用SpEL注入 122
7.2.6 Bean的作用域 124
7.2.7 Bean的生命周期 126
7.3 注解 132
7.3.1 Spring支持的注解简介 132
7.3.2 注解的应用 133
7.4 本章小结 136
7.5 习题 136
第8章 Spring的AOP 138
8.1 AOP基础 138
8.1.1 AOP简介 138
8.1.2 AOP的基本术语 139
8.2 Spring AOP的实现机制 140
8.2.1 JDK动态代理 140
8.2.2 CGLib动态代理 142
8.3 Spring AOP的开发方法 144
8.3.1 基于XML开发Spring AOP 144
8.3.2 基于注解开发Spring AOP 147
8.4 多个切面的优先级 150
8.4.1 基于注解配置 150
8.4.2 基于Ordered接口配置 152
8.4.3 基于XML配置 155
8.5 Spring AOP的应用 157
8.5.1 性能监控 157
8.5.2 异常监控 160
8.6 本章小结 164
8.7 习题 164
第9章 Spring的JDBC 166
9.1 Spring JDBC基础 166
9.1.1 Spring JDBC简介 166
9.1.2 JDBCTemplate类 166
9.1.3 使用JDBCTemplate类完成简单程序 167
9.1.4 在Spring中管理JDBCTemplate类 169
9.2 JDBCTemplate操作数据库 172
9.2.1 JDBCTemplate类实现DDL操作 172
9.2.2 JDBCTemplate类实现DQL操作 173
9.2.3 JDBCTemplate类实现DML操作 176
9.3 使用Spring JDBC完成Dao封装 178
9.3.1 通过直接注入JDBCTemplate的方式 178
9.3.2 通过继承JDBCDaoSupport类的方式 180
9.4 本章小结 183
9.5 习题 183
第10章 Spring管理数据库事务 185
10.1 Spring与事务管理 185
10.1.1 Spring对事务管理的支持 185
10.1.2 事务管理的核心接口 185
10.2 编程式事务管理 188
10.3 声明式事务管理 194
10.3.1 使用XML配置声明式事务 194
10.3.2 使用注解配置声明式事务 198
10.4 本章小结 202
10.5 习题 202
第11章 Spring MVC基础 204
11.1 Spring MVC概述 204
11.1.1 Spring MVC简介 204
11.1.2 Spring MVC的功能组件 204
11.1.3 Spring MVC的工作流程 205
11.2 Spring MVC的重要API 206
11.2.1 DispatcherServlet类 206
11.2.2 DispatcherServlet类的辅助API 207
11.2.3 Controller接口 207
11.2.4 ModelAndView类 208
11.3 Spring MVC的简单应用 208
11.4 Spring MVC的常用注解 212
11.4.1 @RequestMapping注解 212
11.4.2 @RequestParam注解 214
11.4.3 @PathVariable注解 217
11.4.4 @CookieValue注解 218
11.4.5 @RequestHeader注解 219
11.5 本章小结 220
11.6 习题 220
第12章 Spring MVC的参数绑定 222
12.1 Spring MVC数据绑定 222
12.2 简单数据绑定 222
12.2.1 绑定默认数据类型 222
12.2.2 绑定简单数据类型 226
12.2.3 绑定POJO类型 228
12.2.4 绑定包装POJO 230
12.2.5 自定义数据绑定 232
12.3 复杂数据绑定 236
12.3.1 绑定数组 236
12.3.2 绑定集合 237
12.4 本章小结 239
12.5 习题 239
第13章 异常处理和拦截器 241
13.1 全局异常处理器 241
13.1.1 HandlerExceptionResolver 241
13.1.2 @ExceptionHandler 243
13.1.3 @ControllerAdvice 244
13.2 拦截器定义与配置 246
13.2.1 HandlerInterceptor接口 247
13.2.2 WebRequestInterceptor接口 249
13.2.3 拦截器链 251
13.2.4 拦截器登录控制 254
13.3 本章小结 262
13.4 习题 262
第14章 Spring MVC的高级功能 264
14.1 文件上传下载 264
14.1.1 利用Spring MVC上传文件 264
14.1.2 利用Spring MVC下载文件 268
14.2 Spring MVC实现JSON交互 270
14.3 Spring MVC实现RESTful风格 271
14.3.1 REST 271
14.3.2 使用Spring MVC实现RESTful风格 272
14.3.3 静态资源访问问题 273
14.4 本章小结 277
14.5 习题 277
第15章 SSM框架整合 279
15.1 整合环境搭建 279
15.2 整合思路 279
15.3 准备所需jar包 280
15.4 编写配置文件 282
15.5 编写项目代码 285
15.6 整合应用测试 290
15.7 本章小结 291
15.8 习题 291
第16章 SSM整合开发案例——锋迷网 293
16.1 项目背景及系统架构 293
16.1.1 应用背景 293
16.1.2 系统架构介绍 293
16.1.3 功能模块介绍 293
16.1.4 运行效果 294
16.2 SSM框架整合 304
16.2.1 配置SSM开发环境 304
16.2.2 相关的配置文件 304
16.3 锋迷网数据库设计 307
16.3.1 用户表 307
16.3.2 购物车相关表 307
16.3.3 商品相关表 308
16.3.4 订单相关表 309
16.4 完成通用模块 310
16.5 用户模块 313
16.6 商品模块 325
16.6.1 商品类型 325
16.6.2 商品 331
16.7 购物车模块 345
16.8 订单模块 353
16.9 收货地址模块 368
16.10 本章小结 375
16.11 习题 375