Spring+MyBatis企业应用实战(第2版)
  • 推荐0
  • 收藏1
  • 浏览1.7K

Spring+MyBatis企业应用实战(第2版)

疯狂软件 , 广州捷途软件科技有限公司 (作者) 

  • 书  号:978-7-121-33780-2
  • 出版日期:2018-03-29
  • 页  数:384
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:张月萍
纸质版 ¥69.00

相关图书

Spring Boot 2企业应用实战

本书介绍了Java EE领域的全新开源框架:Spring Boot。其中Spring的版本为5.0。本书的示例建议在Tomcat 8上运行。<br>本书重点介绍...

¥58.00

Apache Kafka实战

胡夕 (作者)

本书是涵盖Apache Kafka各方面的具有实践指导意义的工具书和参考书。作者结合典型的使用场景,对Kafka整个技术体系进行了较为全面的讲解,以便读者能够举...

¥89.00

轻量级Java EE企业应用实战(第5版)——Struts 2+Spring 5+Hibernate 5/JPA 2整合开发

本书是《轻量级Java EE企业应用实战》的第5版,这一版保持了前几版内容全面、深入的特点,主要完成全部知识的升级。<br>本书介绍了Java EE领域的四个开...

¥128.00

Spark:大数据集群计算的生产实践

李刚 (作者) 李刚 (译者)

本书针对spark从验证性环境迁移到实际生产环境时会遇到的各种问题给出了实际的帮助,涵盖了开发及维护生产级Spark应用的各种方法、组件与有用实践。全书分为6章...

¥65.00

Hadoop金融大数据分析

Rajiv Tiwari (作者) 王小宁 (译者)

在互联网+时代,数据是炙手可热的重要资源,网络使用基础的提升,数据流量增大,用户需求多样化和多变对架构设计提出严峻考验,而Hadoop为快速响应用户需求提供了重...

¥39.00

Spark GraphX实战

【美】Michael S. Malak(迈克尔 S. 马拉克) 【美】Robin East(罗宾 伊斯特) (作者) 时金魁 黄光远 (译者)

《Spark GraphX实战》是一本Spark GraphX入门书籍。前5章为基础内容,即使读者对Spark、GraphX、Scala不熟悉,也能快速上手;后...

¥49.00
本书主要介绍介绍了Java EE领域的两个开源框架:Spring的MVC和MyBatis。其中Spring的版本为5.0,MyBatis的版本是3.4.5。本书的示例建议在Tomcat 8上运行。本书重点介绍如何整合Spring MVC 5+MyBatis 3.4.5进行Java EE开发,主要包括三个部分。第一部分详细介绍了Spring MVC框架的用法。第二部分详细介绍了MyBatis框架的用法。第三部分重点介绍了Spring MVC 5+MyBatis 3.4.5的整合,并示范开发了一个包含6个表、表之间具有复杂的关联映射关系,且业务功能也相对完善的HRM人事管理系统案例,希望让读者理论联系实际,将这两个框架真正运用到实际开发当中去。该案例采用目前流行、规范的Java EE架构,整个应用分为DAO持久层、领域对象层、业务逻辑层、控制器层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。所有代码完全基于Eclipse IDE来完成,一步步带领读者深入两个框架的核心。
一部Spring MVC+MyBatis项目开发指南,基于Spring MVC 5升级
前 言
时至今日,以Spring为核心的轻量级Java EE企业开发平台在企业开发中占有绝对的优势,Java EE应用以其稳定的性能、良好的开放性以及严格的安全性,深受企业应用开发者的青睐,应用的性能、稳定性都有很好的保证。
轻量级Java EE开发大致可分为两种方式:以Struts+Spring+Hibernate三大框架为核心的轻量级Java EE和以Spring MVC+MyBatis为核心的轻量级Java EE。这两种组合都在保留经典Java EE应用架构、高度可扩展性、高度可维护性的基础上,降低了Java EE应用的开发、部署成本,对于大部分中小型企业应用来说是首选。
本书重点介绍以Spring MVC+MyBatis为核心的轻量级Java EE。本书采用Tomcat 8作为Web服务器,Eclipse IDE作为开发工具,详细介绍了Spring MVC和MyBatis框架。Spring MVC的配置全部使用注解方式,不再采用旧版本中传统的XML配置方式;MyBatis则基于企业开发实际情况,首先介绍了传统的XML持久化映射,之后又介绍了升级的注解持久化映射。
随着Spring的不断发展,Spring MVC已有取代Struts的能力,而MyBatis相对Hibernate而言则更为轻便、简单,越来越多的公司选择使用Spring MVC+MyBatis的轻量级框架组合来开发Java EE项目,因此掌握Spring MVC+MyBatis技术将为Java开发者带来更多的就业机会与竞争力。

本书有什么特点
本书是一本介绍Spring MVC+MyBatis技术以及两者整合的实用图书,全面介绍了最新的Spring MVC和MyBatis各方面的知识。
本书针对每一个知识点都通过相应的程序给出了示范,第13章的实战项目“HRM人事管理系统”采用目前最流行、最规范的Java EE架构,整个应用分为DAO持久层、领域对象层、业务逻辑层、控制器层和视图层,各层之间分层清晰,层与层之间以松耦合的方式组织在一起。笔者既担任过软件开发的技术经理,也担任过软件公司的培训导师,现如今从事专业、高端的职业技术培训。本书所有应用范例都密切契合企业开发实际场景,例如用户权限验证、文件上传下载等都是企业开发中要实现的实际功能,同时采用目前企业中颇为流行、规范的开发架构,严格遵守Java EE开发规范。读者参考本书的架构,完全可以身临其境地感受企业实际项目开发。
本书并不是一本关于所谓“思想”的书,也没有一堆“深奥”的新名词和“高深”的理论,只是让读者学会实际的Spring MVC和MyBatis技术。本书的特点是操作步骤详细,编程思路清晰,语言平实易懂。只要读者认真阅读本书,并掌握书中知识,那么就完全可以胜任企业中的Spring MVC+MyBatis项目开发。
阅读本书需要具备一定的计算机知识以及编程功底。熟练掌握Java语言和Spring框架的IOC、AOP和持久层的ORM设计模式等知识对于学习本书是很有必要的。
可访问www.crazyit.org或www.broadview.com.cn/33780下载本书配套资源。

本书写给谁看
如果你已经掌握了Java SE的内容,或已经学完了疯狂软件教育的《疯狂Java讲义》一书,那么你非常适合阅读此书。除此之外,如果你已有初步的JSP、Servlet、JDBC基础,甚至对Spring、MyBatis等框架有所了解,但希望掌握它们在实际开发中的应用,本书也非常适合你。如果你对Java的掌握还不熟练,则建议遵从学习规律,循序渐进,暂时不要购买、阅读此书,而是按照“疯狂Java学习路线图”中的建议顺序学习。

衷心感谢
衷心感谢李刚老师,他是笔者非常好的朋友,在本书的创作过程中,他提供了大量切实、有用的帮助。同时衷心感谢疯狂软件教育中心所有同事提供的帮助。
感谢我的妻子王丹娜女士,她给了我生活上、精神上无微不至的关怀和照顾,并承担几乎所有的日常家务,使我能够心无旁骛地专注于程序的研究和书籍的撰写。
感谢所有参加疯狂软件实训的学生,他们在实际工作场景的应用中证明了本书的价值,他们的反馈让本书更加实用。

目录

第1章 Java EE应用 1
1.1 Java EE应用概述 2
1.1.1 Java EE应用的分层模型 2
1.1.2 Java EE应用的组件 3
1.1.3 Java EE应用的结构和优势 4
1.2 轻量级Java EE应用相关技术 4
1.2.1 JSP、Servlet和JavaBean及替代技术 4
1.2.2 MyBatis 3及替代技术 5
1.2.3 Spring 5及替代技术 6
1.2.4 使用开源框架的好处 7
1.3 本章小结 7

第2章 Spring MVC简介 8
2.1 MVC思想概述 9
2.1.1 传统Model1和Model2 9
2.1.2 MVC思想及其优势 10
2.2 Struts 2和Spring MVC 11
2.2.1 Spring MVC的优势 11
2.2.2 Spring MVC和Struts 2的区别 11
2.3 开发第一个Spring MVC应用 12
2.3.1 Spring的下载和安装 12
2.3.2 Spring MVC的DispatcherServlet 13
2.3.3 基于Controller接口的控制器 14
示例:第一个Spring MVC应用 14
示例:基于注解的控制器 18
2.4 详解DispatcherServlet 20
2.5 Spring MVC执行的流程 22
2.5.1 Spring MVC应用的开发步骤 22
2.5.2 Spring MVC执行的流程 24
2.6 本章小结 25

第3章 Spring MVC的常用注解 26
3.1 @Controller注解 27
示例:@Controller注解的使用 27
3.2 @RequestMapping注解 29
3.2.1 @RequestMapping注解简介 29
3.2.2 请求处理方法中可出现的参数类型 32
3.2.3 请求处理方法可返回的类型 33
3.2.4 Model和ModelMap 33
示例:Model和ModelMap的使用 34
3.2.5 ModelAndView 35
示例:ModelAndView的使用 35
3.2.6 页面转发 35
3.3 @RequestParam注解 36
示例:@RequestMapping和@RequestParam注解的使用 37
3.4 @PathVariable注解 41
3.5 @MatrixVariable注解 42
3.6 @CrossOrigin注解 42
示例:@PathVariable注解和@MatrixVariable注解的使用 43
示例:@CrossOrigin注解的使用 45
3.7 @RequestHeader注解 46
示例:@RequestHeader注解的使用 47
3.8 @CookieValue注解 48
示例:@CookieValue注解的使用 49
3.9 @RequestAttribute注解 50
3.10 @SessionAttribute注解 50
示例:@RequestAttribute注解和@SessionAttribute注解的使用 51
3.11 @SessionAttributes注解 53
示例:@SessionAttributes注解的使用 53
3.12 @ModelAttribute注解 55
示例:@ModelAttribute注解的使用 55
3.13 @RequestBody注解 62
3.13.1 HttpMessageConverter接口 62
3.13.2 转换JSON数据 64
示例:@RequestBody接收JSON格式的数据 65
示例:自定义HttpMessageConverter接收JSON格式的数据 68
3.14 @ResponseBody注解 70
示例:@ResponseBody返回JSON格式的数据 70
示例:自定义HttpMessageConverter返回JSON格式的数据 72
3.15 转换XML数据 72
示例:接收XML格式的数据 72
示例:返回XML格式的数据 75
3.16 @RestController注解 76
示例:@RestController注解的使用 76
3.17 Spring MVC的异常处理 77
3.17.1 Spring MVC异常处理接口以及实现类 77
示例:SimpleMappingExceptionResolver处理异常 78
3.17.2 @ResponseStatus注解 82
示例:@ResponseStatus处理异常 82
3.17.3 @ExceptionHandle注解 84
示例:@ExceptionHandler处理异常 84
3.17.4 @ControllerAdvice注解 87
示例:@ControllerAdvice处理异常 87
3.17.5 @RestControllerAdvice注解 91
示例:@RestControllerAdvice注解的使用 91
3.18 本章小结 92

第4章 Spring MVC的标签库 93
4.1 表单标签库 94
4.1.1 form标签 94
4.1.2 input标签 95
示例:form和input标签的使用 95
4.1.3 password标签 97
4.1.4 hidden标签 98
4.1.5 textarea标签 98
4.1.6 checkbox标签 99
示例:checkbox标签的使用 99
4.1.7 checkboxes标签 101
示例:checkboxes标签的使用 101
4.1.8 radiobutton标签 105
示例:radiobutton标签的使用 105
4.1.9 radiobuttons标签 106
示例:radiobuttons标签的使用 107
4.1.10 select标签 108
4.1.11 option标签 109
4.1.12 options标签 109
示例:select、option和options标签的使用 109
4.1.13 errors标签 113
示例:errors标签的使用 114
4.2 本章小结 116

第5章 Spring MVC的国际化 117
5.1 Spring MVC国际化的相关知识 118
5.1.1 messageSource接口 118
5.1.2 localeResolver接口 118
5.1.3 message标签 119
5.2 Spring MVC的国际化处理 119
5.2.1 AcceptHeaderLocaleResolver 119
示例:基于浏览器请求的国际化实现 119
5.2.2 SessionLocaleResolver 122
示例:基于HttpSession的国际化实现 123
5.2.3 CookieLocaleResolver 125
示例:基于Cookie的国际化实现 125
5.3 本章小结 127

第6章 Spring MVC的数据转换、格式化和数据校验 128
6.1 数据绑定流程 129
6.2 数据转换 129
6.2.1 ConversionService 129
6.2.2 Spring支持的转换器 130
示例:使用ConversionService转换数据 131
示例:使用@InitBinder添加自定义编辑器转换数据 134
示例:使用WebBindingInitializer注册全局自定义编辑器转换数据 135
6.2.3 多种转换器的优先顺序 135
6.3 数据格式化 136
示例:使用Formatter格式化数据 137
示例:使用FormatterRegistrar注册Formatter 138
示例:使用AnnotationFormatterFactory 格式化数据 139
6.4 数据校验 142
6.4.1 Spring的Validation校验框架 143
示例:测试Spring的Validation校验 143
6.4.2 JSR 303校验 146
示例:测试JSR 303校验 147
6.5 本章小结 152

第7章 Spring MVC的文件上传下载和拦截器机制 153
7.1 文件上传 154
示例:Spring MVC的文件上传 154
示例:使用对象接收上传文件 157
7.2 文件下载 158
示例:Spring MVC的文件下载 158
7.3 拦截器 160
7.3.1 HandlerInterceptor接口 160
示例:拦截器实现用户权限验证 161
7.4 本章小结 164

第8章 MyBatis简介 165
8.1 ORM和MyBatis 166
8.1.1 对象/关系数据库映射(ORM) 166
8.1.2 基本映射方式 167
8.1.3 流行的ORM框架简介 168
8.1.4 MyBatis概述 168
8.2 MyBatis入门 169
8.2.1 MyBatis下载和安装 169
示例:MyBatis的数据库操作入门 170
8.3 本章小结 175

第9章 MyBatis的基本用法 176
9.1 MyBatis体系结构 177
9.1.1 SqlSessionFactory 177
9.1.2 SqlSession 177
9.2 深入MyBatis的配置文件 179
9.2.1 MyBatis的配置文件结构 180
9.2.2 properties属性 180
9.2.3 settings设置 181
9.2.4 typeAliases类型命名 183
9.2.5 typeHandlers类型处理器 184
9.2.6 objectFactory对象工厂 185
9.2.7 environments配置环境 185
9.2.8 mapper映射器 187
9.3 MyBatis日志信息配置 188
9.3.1 log4j.properties配置日志 188
9.3.2 log4j.xml配置日志 189
9.4 深入Mapper XML映射文件 190
9.4.1 select 191
9.4.2 insert、update和delete 192
9.4.3 sql 194
9.4.4 参数(Parameters) 195
示例:测试select、insert、update和delete操作 195
9.4.5 ResultMaps 200
示例:测试ResultMaps 201
9.5 本章小结 208

第10章 深入使用MyBatis 209
10.1 MyBatis关联映射 210
10.1.1 一对一 210
示例:OneToOneTest 210
10.1.2 一对多 213
示例:OneToManyTest 213
10.1.3 多对多 218
示例:ManyToManyTest 218
10.2 MyBatis动态SQL 225
示例:DynamicSQLTest 225
10.2.1 if 226
10.2.2 choose(when、otherwise) 229
10.2.3 where 230
10.2.4 set 232
10.2.5 foreach 233
10.2.6 bind 234
10.3 MyBatis调用存储过程 234
示例:MyBatis调用存储过程 235
10.3.1 插入数据 235
10.3.2 查询数据返回集合 237
10.3.3 根据id查询数据返回对象 238
10.3.4 修改数据 239
10.3.5 删除数据 241
10.4 MyBatis事务管理 242
10.4.1 事务的概念 242
10.4.2 Transaction接口 243
10.4.3 事务的配置创建和使用 243
10.5 MyBatis缓存机制 247
10.5.1 一级缓存(SqlSession级别) 247
示例:OneLevelCacheTest 247
10.5.2 二级缓存(mapper级别) 251
示例:TwoLevelCacheTest 251
10.6 本章小结 254

第11章 MyBatis的注解配置 255
11.1 常用注解 256
11.2 注解的使用 256
示例:测试select、insert、update和delete操作 257
示例:测试一对一关联 262
示例:测试一对多关联 263
示例:测试多对多关联 265
示例:测试动态SQL 267
示例:测试调用存储过程 274
示例:测试二级缓存 276
11.3 本章小结 278

第12章 Spring 5整合MyBatis 3 279
12.1 开发环境搭建 280
12.2 准备所需的jar包 280
12.3 准备数据库资源 280
12.4 完成配置文件 281
12.5 持久层功能实现 283
12.6 服务层功能实现 284
12.7 控制层功能实现 286
12.8 JSP页面 288
12.9 测试Spring 5整合MyBatis 3 289
12.10 本章小结 290

第13章 实战项目:人事管理系统 291
13.1 项目简介及系统结构 292
13.1.1 系统功能介绍 292
13.1.2 相关技术介绍 293
13.1.3 系统结构 293
13.1.4 系统的功能模块 294
13.2 数据表和持久化类 294
13.2.1 设计数据库表 294
13.2.2 设计持久化实体 296
13.2.3 创建持久化实体类 297
13.3 实现DAO持久层 303
13.3.1 公共常量类 304
13.3.2 定义DAO接口 304
13.3.3 部署DAO层 318
13.4 实现Service持久层 319
13.4.1 业务逻辑组件的设计 319
13.4.2 实现业务逻辑组件 320
13.4.3 事务管理 335
13.4.4 部署业务逻辑组件 335
13.5 实现Web层 335
13.5.1 控制器的处理顺序 335
13.5.2 用户管理 339
13.5.3 部门管理 342
13.5.4 职位管理 345
13.5.5 员工管理 348
13.5.6 公告管理 351
13.5.7 下载中心 355
13.6 本章小结 359

附录A EL表达式和JSTL标签库 360

读者评论

  • 为什么不能展开

    九黎发表于 2018/7/23 11:24:49