第1篇 准备工作 2
第1章 开发环境搭建 2
1.1 JDK安装与配置 2
1.1.1下载JDK 3
1.1.2安装JDK 4
1.1.3 JDK环境变量配置 4
1.1.4验证Java环境是否搭建成功 6
1.2 MyEclipse的安装与使用 7
1.2.1 MyEclipse的下载 7
1.2.2 MyEclipse的配置 8
1.3第一个Java类 10
第2篇 MyBatis技术入门 14
第2章 了解MyBatis 14
2.1传统JDBC开发模式的缺陷 14
2.1.1 JDBC连接数据库模式分析 14
2.1.2 JDBC操作SQL语句模式分析 16
2.1.3待优化的问题 17
2.2初识MyBatis 18
2.2.1 MyBatis介绍 18
2.2.2 MyBatis整体架构 18
2.2.3 MyBatis运行流程 21
第3章 搭建MyBatis工作环境 23
3.1入门程序搭建与测试 23
3.1.1数据库准备 23
3.1.2搭建工程环境 24
3.1.3编写日志输出环境配置文件 26
3.1.4编写数据库连接池配置文件 27
3.1.5编写SQL映射配置文件 29
3.1.6编写数据交互类与测试用例 30
3.2入门程序数据操作 33
3.2.1模糊查询样例 33
3.2.2新增样例 34
3.2.3删除与修改样例 37
第4章 MyBatis配置文件详解 40
4.1 SqlMapConfig配置文件详解 40
4.1.1 properties配置分析 43
4.1.2 setting配置分析 44
4.1.3 typeAliases配置分析 48
4.1.4 typeHandlers配置分析 50
4.1.5 obj ectFactory配置分析 53
4.1.6 plugins配置分析 56
4.1.7 environments配置分析 58
4.1.8 mappers配置分析 60
4.2 Mapper映射文件 61
4.2.1映射文件总体介绍 61
4.2.2 Mapper配置输入映射 64
4.2.3 Mapper输入映射样例 65
4.2.4 Mapper配置输出映射 68
4.2.5 Mapper自动映射 75
4.2.6 Mapper配置动态SQL语句 76
第5章 MyBatis高级映射 80
5.1建立测试数据模型 80
5.1.1业务模型分析 80
5.1.2根据业务创建测试表 81
5.2一对一查询 83
5.2.1使用resultTpe实现 83
5.2.2使用resultMap实现 85
5.3一对多查询 87
5.3.1实体类定义与Mapper编写 87
5.3.2测试查询结果 89
5.4多对多查询 90
5.4.1实体类定义与Mapper编写 91
5.4.2测试查询结果 94
5.5延迟加载 96
5.5.1 Mapper映射配置编写 96
5.5.2测试延迟加载效果 97
5.6 Mapper动态代理 99
5.6.1 Mapper代理实例编写 99
5.6.2测试动态代理效果 100
第6章 MyBatis缓存结构 102
6.1一级查询缓存 103
6.1.1一级缓存原理阐述 103
6.1.2一级缓存测试示例 103
6.2二级查询缓存 105
6.2.1二级缓存原理阐述 105
6.2.2二级缓存测测试实例 106
6.2.3验证二级缓存清空 108
第7章 MyBatis技术拓展 110
7.1 MyBatis与Spring的整合 110
7.1.1创建测试工程 110
7.1.2引入依赖jar包 111
7.1.3编写Spring配置文件 112
7.1.4编写MyBatis配置文件 114
7.1.5编写Mapper及其他配置文件 115
7.1.6编写DAO层 116
7.1.7编写Service测试类 117
7.1.8使用Mapper代理 118
7.2 MyBatis逆向工程 121
7.2.1逆向工程配置 121
7.2.2逆向数据文件生成类 123
7.2.3运行测试方法 124
7.2.4测试生成的数据文件 126
第3篇 Spring MVC技术入门 132
第8章 Spring MVC 132
8.1 Spring MVC基础 133
8.1.1 Spring体系结构 133
8.1.2 Spring MVC请求流程 134
8.2 Spring MVC与Struts的区别 135
8.3 Spring MVC环境搭建 136
8.3.1依赖jar包的添加和前端控制器配置 137
8.3.2编写核心配置文件springmvc.xml 138
8.3.3编写Handler处理器与视图 140
第9章 处理器映射器和适配器 144
9.1非注解的处理器映射器和适配器 144
9.1.1非注解的处理器映射器 144
9.1.2非注解的处理器适配器 146
9.2注解的处理器映射器和适配器 151
第10章 前端控制器和视图解析器 154
10.1前端控制器源码分析 154
10.2视图解析器 162
10.2.1 AbstractCachingViewResolver 162
10.2.2 UrlBasedViewResolver 162
10.2.3 IntemalResourceViewResolver 163
10.2.4 XmlViewResolver 163
10.2.5 BeanNameViewResolver 164
10.2.6 ResourceBundleViewResolver 165
10.2.7 FreeMarkerViewResolver与VelocityViewResolver 167
10.2.8 ViewResolver链 168
第11章 请求映射与参数绑定 169
11.1 Controller与RequestMapping 169
11.2参数绑定过程 173
11.2.1简单类型参数绑定 174
11.2.2包装类型参数绑定 176
11.2.3集合类型参数绑定 182
第12章 Validation校验 187
12.1 Bean Validation数据校验 188
12.1.1搭建validation校验框架 188
12.1.2添加校验注解信息 189
12.1.3测试validation校验效果 191
12.1.4 validation注解全面介绍 192
12.2分组校验 193
12.2.1设置分组校验 193
12.2.2测试分组校验效果 195
12.3 Spring Validator接口校验 195
12.3.1 Validator接口的使用 195
12.3.2 Validator接口验证测试 199
第13章 异常处理和拦截器 201
13.1全局异常处理器 201
13.2拦截器定义与配置 207
13.2.1 HandlerInterceptor接口 207
13.2.2 WebRequestInterceptor接口 209
13.2.3拦截器链 210
13.2.4拦截器登录控制 213
第14章 Spring MVC其他操作 217
14.1利用Spring MVC上传文件 217
14.2利用Spring MVC实现JSON交互 223
14.3利用Spring MVC实现RESTful风格 231
14.3.1 RESTful 231
14.3.2使用Spring MVC实现RESTful风格 232
14.3.3静态资源访问问题 235
第4篇 Spring MVC与MyBatis项目实战 238
第15章 项目分析与建模 238
15.1项目需求分析 238
15.1.1系统主要使用者业务关系分析 239
15.1.2系统主要使用者经济关系分析 239
15.2项目UML图例 240
15.2.1 UML图的类型 240
15.2.2绘制系统用例图 241
15.2.3绘制系统模块图 241
15.3项目数据库建模 242
15.3.1系统数据关系分析 243
15.3.2系统主要表设计 243
第16章 开发框架环境搭建 250
16.1搭建工程的Maven环境 250
16.1.1 Maven下载配置 250
16.1.2创建Maven工程 252
16.1.3为工程添加依赖 254
16.2开发框架基础配置与测试 259
16.2.1开发框架环境配置 259
16.2.2测试环境配置结果 266
第17章 核心代码以及登录模块编写 277
17.1各层核心基础代码 277
17.1.1编写DAO层核心代码 277
17.1.2编写Controller层核心代码 279
17.2登录注册管理模块 280
17.2.1编写登录模块 280
17.2.2编写登录验证服务 283
17.2.3编写注册模块 288
17.2.4编写注册服务 290
第18章 零售商及货物管理模块 292
18.1零售商管理模块 292
18.1.1添加主导航栏 292
18.1.2编写基础Controller及实体类 294
18.1.3创建Mapper映射文件 295
18.1.4编写DAO层处理逻辑 297
18.1.5编写Service层处理逻辑 297
18.1.6完善Controller类 298
18.1.7编写相关视图页面 300
18.1.8分页操作逻辑编写 302
18.1.9测试分页效果 305
18.1.10编写编辑功能 307
18.1.11测试编辑功能 310
18.1.12编写删除功能 311
18.1.13测试删除功能 312
18.1.14编写添加功能 312
18.1.15 测试添加功能 314
18.2货物信息管理模块 315
18.2.1导航栏与Controller基础准备 315
18.2.2创建Mapper映射文件 316
18.2.3编写DAO层处理逻辑 318
18.2.4编写Service层处理逻辑 319
18.2.5完善 Controller类 320
18.2.6编写相关视图页面 322
18.3附属品管理模块 325
18.3.1导航栏与Controller基础准备 325
18.3.2创建Mapper映射文件 326
18.3.3完善Controller类 327
18.3.4编写相关视图页面 329
18.3.5验证页面效果 331
18.3.6批量删除实现 332
第19章 购销合同管理模块 335
19.1购销合同管理模块 335
19.1.1购销合同Mapper实现 335
19.1.2编写DAO层处理逻辑 341
19.1.3编写Service层处理逻辑 342
19.1.4编写Controller基础类 344
19.1.5编写相关视图页面 345
19.2关联零售商 347
19.2.1编写添加逻辑 347
19.2.2实现零售商关联浮出框 349
19.2.3测试零售商关联 354
19.3关联水果货物 354
19.3.1货物关联展示与浮出框编写 354
19.3.2勾选货物功能编写 358
19.3.3测试货物关联 360
19.4完善购销合同 360
19.4.1合同关联信息合并提交 360
19.4.2测试合并提交 365
19.4.3合同打印以及删除实现 369
19.5案例总结 372