《Spring MVC MyBatis开发从入门到项目实战》分为四部分。第yi部分是Java开发环境的搭建,包括JDK的下载与安装、环境变量的配置、MyEclipse的下载与基本配置。第二部分是MyBatis技术入门,包括剖析JDBC的弊端、MyBatis的背景介绍、入门程序的编写、配置文件的剖析、高级映射及缓存结构的讲解,*后还介绍了MyBatis与Spring框架的整合。第三部分是Spring MVC技术入门,包括Spring MVC的背景介绍、架构整体剖析、环境搭建、处理器与映射器的讲解、前端控制器的源码分析、多种视图解析器的介绍、请求映射与参数绑定的介绍、Validation校验与异常处理和拦截器的讲解。第四部分是Spring MVC与MyBatis的项目整合实战篇,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。本书对框架的介绍通俗易懂,由浅入深,结合实例展示,为读者的入门提供了有力的帮助,且为以后的技术提升打下坚实的基础。
经验多:百万访问量博主倾囊相授,带你走进Web开发的方方面面。
零基础:从简单的样例做起,逐渐深入技术核心。
内容全:涵盖Spring MVC与MyBatis的33个技巧,56个实例。
重实战:与真实项目案例相结合,深入实战开发的5层架构
自从Java语言诞生以来,就有许多基于Java语言开发的软件涌现,而其中使用Java EE开发环境来开发企业级Web应用也有许多年的历史了。Java EE平台经过多年的更新和换代,其稳定性和完善的安全机制使其牢牢伫立于企业级Web应用开发的前列,受到了许多Web开发者的青睐。在Java EE发展的过程中,许多的开发者和组织对其API进行了优化、改进和封装,进而涌现出了许多优秀的开源框架,如Rod Johnson创建的Spring框架、Gavin King和JBoss团队开发的Hibernate框架、Apache Jakarta项目的Struts框架,以及近两年比较流行的SpringFrameWork的后续产品 Spring MVC与Apache的开源项目MyBatis。使用这些开源框架,使得Web开发的效率和质量得到大大提升。本书详细介绍了Spring MVC和MyBatis框架的基础知识及核心技术。通过学习框架的基础理论和API的概念,读者可以由浅入深地学习框架的整体技术,从而达到学以致用的目的。在掌握理论知识的同时,通过实例的编写和练习,使得读者对知识点的理解和掌握更加透彻。最后通过一个企业级项目的实战编写,从软件需求分析、功能设计、数据库创建,到开发环境搭建及编码开发,让读者掌握整合框架的实际开发技术,为以后的相关工作和学习打下坚实的实战基础。
本书特色
1.内容基础、全面,涵盖Spring MVC和MyBatis的核心技术知识本书从 Spring MVC和MyBatis的依赖环境,到其配置文件、API应用,以及各项参数的释义都给予了详细讲解,让读者轻松并快速掌握框架的开发知识体系。对于部分核心知识点,还会通过剖析源码的方式,让读者深入理解框架的设计理念,从深层次上理解框架的理论。
2.知识点伴随鲜活的实例练习,通过实际动手来实现功能本书对于每一个知识点,都会通过具体实例的编写来向读者展示该知识点的使用技巧和方式,让读者既掌握基础的理论知识,又学习到知识点在具体项目中的实际应用技巧。
3.独特的大型项目跟踪式讲解与开发本书在介绍完Spring MVC与MyBatis的基础知识及实例后,还增加了项目实战的章节。不同于以往的教程,这里的项目以实际需求为起点,通过软件的需求分析、功能设计、数据库设计及环境的搭建,到最后的开发,一步一步让读者体验整个Web项目从提出设想到最终交付的全部过程。读者在大型项目的跟踪式学习中,不仅可以深切体会如何进行 Spring MVC与MyBatis的项目整合开发,还可以掌握整个Web项目的所有开发流程。
本书内容及体系结构
第1篇 准备工作本篇
对Java开发的环境搭建、编译器的选择与安装都做了详细的讲解,为读者后面的开发学习做好准备。
第2篇 MyBatis技术入门
本篇通过分析传统JDBC开发模式的缺陷,引出MyBatis框架诞生的背景及特点。然后通过一个入门程序让读者对MyBatis有一个大致的了解,继而展开对MyBatis配置文件、高级映射及缓存结构等知识点的讲解。最后讲解了MyBatis与Spring的整合开发,为后期与 Spring MVC的整合做准备。
第3篇 Spring MVC技术入门
本篇通过 Spring MVC技术背景的介绍,以及与Struts框架的对比,让读者对 Spring MVC在项目中扮演的角色有一个大致的了解。然后通过图文解说的方式,详细介绍了 Spring MVC的整个运行体系和所包含的架构模块,让读者带着模块化的思想去学习整个框架,而不是盲人摸象。在读者了解了技术背景及大体框架结构后,再逐步讲解 Spring MVC的环境搭建、处理器映射器和适配器、前端控制器和视图解析器、请求映射与参数绑定、Validation校验、异常处理和拦截器等知识点。
第4篇 Spring MVC与MyBatis项目实战
本篇通过一个水果网络销售平台项目,让读者从一个项目负责人和开发人员的角度,全面剖析项目的整个开发流程,广到这个项目的功能设计、框架规划,细到某个具体模块的详细编码实现,让读者从宏观到微观全面掌握 Spring MVC与MyBatis整合的实战项目开发流程。
本书读者对象Java软件开发工程师想要全面了解 Spring MVC与MyBatis知识点的人员想要学习开发Web实战项目的人员各计算机、软件专业的在校学生其他对Web开发感兴趣的各类人员
朱要光,90后新锐程序员,热爱钻研计算机技术,追求极客精神。本科期间热衷于算法和数据结构的学习,多次参加ACM算法大赛并获得若干单人以及团队奖项。参与设计与开发的拥有软件著作权的协同画板掌上供电软件,获得第八届大学生计算机设计大赛二、三等奖的殊荣。2015年获得CSDN个人博客准专家称号,拥有大量原创博文,博客访问量达百万人次。
第1篇 准备工作
第1章 开发环境搭建2
1.1 JDK安装与配置2
1.1.1 下载JDK3
1.1.2 安装JDK4
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技术入门
第2章 了解MyBatis14
2.1 传统JDBC开发模式的缺陷14
2.1.1 JDBC连接数据库模式分析14
2.1.2 JDBC操作SQL语句模式分析16
2.1.3 待优化的问题17
2.2 初识MyBatis18
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 objectFactory配置分析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 使用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.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技术入门
第8章 Spring MVC132
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.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.1 Controller与RequestMapping169
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 RESTful231
14.3.2 使用Spring MVC实现RESTful风格232
14.3.3 静态资源访问问题235
第4篇 Spring MVC与MyBatis项目实战
第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