书海网短评:
拥有Java基础的软件开发人员,大中专院校计算机及相关专业在校学生。 本书分为四部分。第一部分是Java开发环境的搭建,包括JDK的下载与安装、环境变量的配置、My
拥有Java基础的软件开发人员,大中专院校计算机及相关专业在校学生。
《Spring MVC+MyBatis开发从入门到项目实战》分为四部分。第一部分是Java开发环境的搭建,包括JDK的下载与安装、环境变量的配置、MyEclipse的下载与基本配置。第二部分是MyBatis技术入门,包括剖析JDBC的弊端、MyBatis的背景介绍、入门程序的编写、配置文件的剖析、高级映射及缓存结构的讲解,最后还介绍了MyBatis与Spring框架的整合。第三部分是SpringMVC技术入门,包括SpringMVC的背景介绍、架构整体剖析、环境搭建、处理器与映射器的讲解、前端控制器的源码分析、多种视图解析器的介绍、请求映射与参数绑定的介绍、Validation校验与异常处理和拦截器的讲解。第四部分是SpringMVC与MyBatis的项目整合实战篇,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。《Spring MVC+MyBatis开发从入门到项目实战》对框架的介绍通俗易懂,由浅入深,结合实例展示,为读者的入门提供了有力的帮助,且为以后的技术提升打下坚实的基础。
朱要光,90后新锐程序员,热爱钻研计算机技术,追求极客精神。本科期间热衷于算法和数据结构的学习,多次参加ACM算法大赛并获得若干单人以及团队奖项。参与设计与开发的拥有软件著作权的“协同画板”“掌上供电”软件,获得第八届大学生计算机设计大赛二、三等奖的殊荣。2015年获得CSDN个人博客“准专家”称号,拥有大量原创博文,博客访问量达百万人次。
第1篇准备工作
第1章开发环境搭建2
1.1JDK安装与配置2
1.1.1下载JDK3
1.1.2安装JDK4
1.1.3JDK环境变量配置4
1.1.4验证Java环境是否搭建成功6
1.2 MyEclipse的安装与使用7
1.2.1MyEclipse的下载7
1.2.2MyEclipse的配置8
1.3 第一个Java类10
第2篇MyBatis技术入门
第2章 了解MyBatis14
2.1传统JDBC开发模式的缺陷14
2.1.1JDBC连接数据库模式分析14
2.1.2JDBC操作SQL语句模式分析16
2.1.3待优化的问题17
2.2初识MyBatis18
2.2.1MyBatis介绍18
2.2.2MyBatis整体架构18
2.2.3MyBatis运行流程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.1SqlMapConfig配置文件详解40
4.1.1properties配置分析43
4.1.2setting配置分析44
4.1.3typeAliases配置分析48
4.1.4typeHandlers配置分析50
4.1.5objectFactory配置分析53
4.1.6plugins配置分析56
4.1.7environments配置分析58
4.1.8mappers配置分析60
4.2Mapper映射文件61
4.2.1映射文件总体介绍61
4.2.2Mapper配置输入映射64
4.2.3Mapper输入映射样例65
4.2.4Mapper配置输出映射68
4.2.5Mapper自动映射75
4.2.6Mapper配置动态SQL语句76
第5章MyBatis高级映射80
5.1建立测试数据模型80
5.1.1业务模型分析80
5.1.2根据业务创建测试表81
5.2一对一查询83
5.2.1使用resultType实现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.1Mapper映射配置编写96
5.5.2测试延迟加载效果97
5.6Mapper动态代理99
5.6.1Mapper代理实例编写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.1MyBatis与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.2MyBatis逆向工程121
7.2.1逆向工程配置121
7.2.2逆向数据文件生成类123
7.2.3运行测试方法124
7.2.4测试生成的数据文件126
第3篇SpringMVC技术入门
第8章 SpringMVC132
8.1SpringMVC基础133
8.1.1Spring体系结构133
8.1.2SpringMVC请求流程134
8.2SpringMVC与Struts的区别135
8.3SpringMVC环境搭建136
8.3.1 依赖jar包的添加和前端控制器配置137
8.3.2 编写核心配置文件springmvc.xml138
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 AbstractCachingViewResolver162
10.2.2 UrlBasedViewResolver162
10.2.3 InternalResourceViewResolver163
10.2.4 XmlViewResolver163
10.2.5 BeanNameViewResolver164
10.2.6 ResourceBundleViewResolver165
10.2.7 FreeMarkerViewResolver与VelocityViewResolver167
10.2.8 ViewResolver链168
第11章请求映射与参数绑定169
11.1Controller与RequestMapping169
11.2参数绑定过程173
11.2.1 简单类型参数绑定174
11.2.2 包装类型参数绑定176
11.2.3 集合类型参数绑定182
第12章Validation校验187
12.1BeanValidation数据校验188
12.1.1搭建validation校验框架188
12.1.2添加校验注解信息189
12.1.3测试validation校验效果191
12.1.4validation注解全面介绍192
12.2分组校验193
12.2.1设置分组校验193
12.2.2测试分组校验效果195
12.3SpringValidator接口校验195
12.3.1Validator接口的使用195
12.3.2Validator接口验证测试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章 SpringMVC其他操作217
14.1 利用SpringMVC上传文件217
14.2 利用SpringMVC实现JSON交互223
14.3 利用SpringMVC实现RESTful风格231
14.3.1 RESTful231
14.3.2 使用SpringMVC实现RESTful风格232
14.3.3 静态资源访问问题235
第4篇 SpringMVC与MyBatis项目实战
第15章项目分析与建模238
15.1项目需求分析238
15.1.1系统主要使用者业务关系分析239
15.1.2系统主要使用者经济关系分析239
15.2项目UML图例240
15.2.1UML图的类型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.1Maven下载配置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
前 言
自从Java语言诞生以来,就有许多基于Java语言开发的软件涌现,而其中使用JavaEE开发环境来开发企业级Web应用也有许多年的历史了。JavaEE平台经过多年的更新和换代,其稳定性和完善的安全机制使其牢牢伫立于企业级Web应用开发的前列,受到了许多Web开发者的青睐。在JavaEE发展的过程中,许多的开发者和组织对其API进行了优化、改进和封装,进而涌现出了许多优秀的开源框架,如RodJohnson创建的Spring框架、GavinKing和JBoss团队开发的Hibernate框架、ApacheJakarta项目的Struts框架,以及近两年比较流行的SpringFrameWork的后续产品SpringMVC与Apache的开源项目MyBatis。使用这些开源框架,使得Web开发的效率和质量得到大大提升。
《Spring MVC+MyBatis开发从入门到项目实战》详细介绍了SpringMVC和MyBatis框架的基础知识及核心技术。通过学习框架的基础理论和API的概念,读者可以由浅入深地学习框架的整体技术,从而达到学以致用的目的。在掌握理论知识的同时,通过实例的编写和练习,使得读者对知识点的理解和掌握更加透彻。最后通过一个企业级项目的实战编写,从软件需求分析、功能设计、数据库创建,到开发环境搭建及编码开发,让读者掌握整合框架的实际开发技术,为以后的相关工作和学习打下坚实的实战基础。
《Spring MVC+MyBatis开发从入门到项目实战》特色
1.内容基础、全面,涵盖SpringMVC和MyBatis的核心技术知识
《Spring MVC+MyBatis开发从入门到项目实战》从SpringMVC和MyBatis的依赖环境,到其配置文件、API应用,以及各项参数的释义都给予了详细讲解,让读者轻松并快速掌握框架的开发知识体系。对于部分核心知识点,还会通过剖析源码的方式,让读者深入理解框架的设计理念,从深层次上理解框架的理论。
2.知识点伴随鲜活的实例练习,通过实际动手来实现功能
《Spring MVC+MyBatis开发从入门到项目实战》对于每一个知识点,都会通过具体实例的编写来向读者展示该知识点的使用技巧和方式,让读者既掌握基础的理论知识,又学习到知识点在具体项目中的实际应用技巧。
3.独特的大型项目跟踪式讲解与开发
《Spring MVC+MyBatis开发从入门到项目实战》在介绍完SpringMVC与MyBatis的基础知识及实例后,还增加了项目实战的章节。不同于以往的教程,这里的项目以实际需求为起点,通过软件的需求分析、功能设计、数据库设计及环境的搭建,到最后的开发,一步一步让读者体验整个Web项目从提出设想到最终交付的全部过程。读者在大型项目的跟踪式学习中,不仅可以深切体会如何进行SpringMVC与MyBatis的项目整合开发,还可以掌握整个Web项目的所有开发流程。
《Spring MVC+MyBatis开发从入门到项目实战》内容及体系结构
第1篇 准备工作
本篇对Java开发的环境搭建、编译器的选择与安装都做了详细的讲解,为读者后面的开发学习做好准备。
第2篇 MyBatis技术入门
本篇通过分析传统JDBC开发模式的缺陷,引出MyBatis框架诞生的背景及特点。然后通过一个入门程序让读者对MyBatis有一个大致的了解,继而展开对MyBatis配置文件、高级映射及缓存结构等知识点的讲解。最后讲解了MyBatis与Spring的整合开发,为后期与SpringMVC的整合做准备。
第3篇 SpringMVC技术入门
本篇通过SpringMVC技术背景的介绍,以及与Struts框架的对比,让读者对SpringMVC在项目中扮演的角色有一个大致的了解。然后通过图文解说的方式,详细介绍了SpringMVC的整个运行体系和所包含的架构模块,让读者带着模块化的思想去学习整个框架,而不是“盲人摸象”。在读者了解了技术背景及大体框架结构后,再逐步讲解SpringMVC的环境搭建、处理器映射器和适配器、前端控制器和视图解析器、请求映射与参数绑定、Validation校验、异常处理和拦截器等知识点。
第4篇 SpringMVC与MyBatis项目实战
本篇通过一个水果网络销售平台项目,让读者从一个项目负责人和开发人员的角度,全面剖析项目的整个开发流程,广到这个项目的功能设计、框架规划,细到某个具体模块的详细编码实现,让读者从宏观到微观全面掌握SpringMVC与MyBatis整合的实战项目开发流程。
《Spring MVC+MyBatis开发从入门到项目实战》读者对象
.Java软件开发工程师
.想要全面了解SpringMVC与MyBatis知识点的人员
.想要学习开发Web实战项目的人员
.各计算机、软件专业在校学生
.其他对Web开发感兴趣的各类人员









