关于我们
![]() ![]() |
Java EE轻量级框架应用实战——SSM框架(Spring MVC+Spring+MyBatis)(第2版) 读者对象:本书既可以作为高等院校本、专科计算机相关专业的程序设计教材,又可以作为Java 技术的培训教材,适合广大编程爱好者阅读与使用。
本书对第1 版进行了更新和修订,详细讲解了Java EE 轻量级框架中使用最多的SSM框架,即Spring MVC、Spring 和MyBatis 的基本知识和应用。随着互联网的迅猛发展,SSM 框架被越来越多地应用于企业级开发中,其发展势头已经超过大部分Java Web 框架,稳居榜首。本书以实用性为原则,在重点讲解SSM 框架在企业开发中常用的核心技术的同时,分别讲解了Spring MVC、Spring 和MyBatis 的精髓内容,以课堂实录的方式,理论结合实践,边讲边练。此外,作者在本书中还使用SSM 框架改造了经典项目,力求通过项目的实现加深读者对SSM 框架的理解和掌握程度。 本书提供配套完善的学习资源和支持服务,包括电子教案(PPT)、案例素材、源代码、上机练习与课后作业参考答案、教学设计、教学大纲等,为读者带来全方位的学习体验,读者可以在华信教育资源网(www.hxedu.com.cn)上免费下载。 本书既可以作为高等院校本、专科计算机相关专业的程序设计教材,又可以作为Java 技术的培训教材,适合广大编程爱好者阅读与使用。
石毅,拥有多年软件开发从业与教育培训经验,熟悉Java开发企业级应用、Android应用开发、Web前端设计,负责Java软件开发方向课程教学工作,主讲Java、HTML、CSS、JavaScript、jQuery、MySQL、SQL Server、Oracle 数据库、JavaWEB开发、SSM框架、SSH框架、微服务开发等课程。常受邀到各大高校担任软件开发相关课程教学,教学风格幽默风趣、工作态度认真负责、深受广大学生喜欢。出版《Java语言编程基础》《动态网页设计与开发——JavaScript+jQuery》等多本图书。
第1 章 初识MyBatis ................................................................................................................ 1
1.1 框架简介 ................................................................................................................................ 1 1.1.1 为什么使用框架 ................................................................................................................. 1 1.1.2 框架的概念 ......................................................................................................................... 2 1.1.3 框架的优势 ......................................................................................................................... 3 1.1.4 主流框架的介绍 ................................................................................................................. 3 1.2 MyBatis 简介 ........................................................................................................................... 4 1.2.1 数据持久化的概念 ............................................................................................................. 4 1.2.2 传统的JDBC 的劣势 .......................................................................................................... 5 1.2.3 ORM 框架 ........................................................................................................................... 5 1.2.4 Hibernate 与MyBatis 的区别 ............................................................................................. 6 1.3 MyBatis 环境的搭建与MyBatis 的入门程序 ....................................................................... 6 1.3.1 MyBatis 环境的搭建 ........................................................................................................... 6 1.3.2 MyBatis 的入门程序 ......................................................................................................... 10 1.3.3 MyBatis 的优点、缺点及适用场合 ................................................................................. 13 1.3.4 技能训练 ........................................................................................................................... 14 1.4 MyBatis 的基础操作 ............................................................................................................. 14 1.4.1 查询用户信息 ................................................................................................................... 14 1.4.2 技能训练1 ........................................................................................................................ 18 1.4.3 添加用户信息 ................................................................................................................... 18 1.4.4 更新用户信息 ................................................................................................................... 20 1.4.5 删除用户信息 ................................................................................................................... 22 1.4.6 技能训练2 ........................................................................................................................ 23 1.5 MyBatis 的工作原理 ............................................................................................................. 24 第2 章 MyBatis 的核心配置 ....................................................................................................27 2.1 MyBatis 的核心接口和类 ..................................................................................................... 27 2.1.1 SqlSessionFactoryBuilder .................................................................................................. 28 2.1.2 SqlSessionFactory .............................................................................................................. 28 2.1.3 SqlSession .......................................................................................................................... 30 2.1.4 应用案例——查询用户信息 ............................................................................................ 32 2.1.5 技能训练 ........................................................................................................................... 34 2.2 MyBatis 的核心配置文件 ..................................................................................................... 35 2.2.1 mybatis-config.xml ............................................................................................................ 35 2.2.2 技能训练 ........................................................................................................................... 43 2.3 MyBatis 的映射文件 ............................................................................................................. 44 2.3.1 映射文件中的主要元素 .................................................................................................... 44 2.3.2 <select>元素 ...................................................................................................................... 44 2.3.3 <insert>元素 ...................................................................................................................... 45 2.3.4 <update>元素和<delete>元素 ........................................................................................... 46 2.3.5 <sql>元素 .......................................................................................................................... 47 2.3.6 <resultMap>元素 ............................................................................................................... 48 2.3.7 技能训练 ........................................................................................................................... 49 2.4 使用接口实现条件查询 ........................................................................................................ 49 2.4.1 使用<select>元素实现单条件查询 .................................................................................. 49 2.4.2 使用<select>元素实现多条件查询 .................................................................................. 50 2.4.3 实现查询结果的展示 ........................................................................................................ 53 2.4.4 技能训练 ........................................................................................................................... 58 2.5 使用接口实现添加、更新、删除 ........................................................................................ 59 2.5.1 使用<insert>元素实现添加 .............................................................................................. 59 2.5.2 使用<update>元素实现更新 ............................................................................................. 60 2.5.3 使用@Param 注解实现多个参数入参 ............................................................................. 61 2.5.4 使用<delete>元素实现删除 .............................................................................................. 62 2.5.5 技能训练 ........................................................................................................................... 63 第3 章 动态SQL 语句 ............................................................................................................ 66 3.1 动态SQL 语句主要元素 ...................................................................................................... 66 3.2 使用动态SQL 语句实现多条件查询 ................................................................................... 67 3.2.1 使用<if>+<where>元素实现多条件查询......................................................................... 67 3.2.2 技能训练1......................................................................................................................... 72 3.2.3 使用<if>+<trim>元素实现多条件查询 ............................................................................ 72 3.2.4 使用<choose>+<when>+<otherwise>元素实现多条件查询 ........................................... 73 3.2.5 技能训练2......................................................................................................................... 75 3.3 使用动态SQL 语句实现更新 .............................................................................................. 75 3.3.1 使用<if>+<set>元素实现更新 .......................................................................................... 75 3.3.2 技能训练1......................................................................................................................... 78 3.3.3 使用<if>+<trim>元素实现更新 ....................................................................................... 78 3.3.4 技能训练2 ........................................................................................................................ 78 3.4 使用<foreach>元素实现复杂查询 ....................................................................................... 79 3.4.1 MyBatis 入参为Array 类型的<foreach>元素迭代 ......................................................... 79 3.4.2 MyBatis 入参为List 类型的<foreach>元素迭代 ............................................................ 80 3.4.3 技能训练1 ........................................................................................................................ 82 3.4.4 MyBatis 入参为Map 类型的<foreach>元素迭代 ........................................................... 82 3.4.5 技能训练2 ........................................................................................................................ 84 3.5 使用<bind>元素实现SQL 语句拼接 ................................................................................... 85 第4 章 MyBatis 的关联映射 ....................................................................................................88 4.1 关联映射 ............................................................................................................................... 88 4.1.1 关联关系概述 ................................................................................................................... 88 4.1.2 <resultMap>元素的基本配置项 ....................................................................................... 89 4.2 一对一 .................................................................................................................................. 89 4.2.1 应用案例——身份证号码和个人信息的一对一关联 .................................................... 90 4.2.2 应用案例——用户角色和用户信息的一对一关联 ........................................................ 94 4.2.3 技能训练 ........................................................................................................................... 98 4.3 一对多 .................................................................................................................................. 99 4.3.1 应用案例——用户角色和用户信息的一对多关联 ........................................................ 99 4.3.2 应用案例——商品类型和商品信息的一对多关联 ...................................................... 101 4.3.3 技能训练 ......................................................................................................................... 104 4.4 多对多 ................................................................................................................................ 104 4.4.1 应用案例——销售订单和订购商品信息的多对多关联 .............................................. 104 4.4.2 技能训练 ......................................................................................................................... 108 4.5 <resultMap>元素自动映射级别 ......................................................................................... 108 第5 章 深入使用MyBatis ...................................................................................................... 111 5.1 MyBatis 插件的应用——实现分页 .................................................................................... 111 5.1.1 使用SQL 语句实现分页 ................................................................................................. 112 5.1.2 使用RowBounds 实现分页 ............................................................................................. 114 5.1.3 使用PageHelper 实现分页 .............................................................................................. 115 5.1.4 技能训练 .......................................................................................................................... 119 5.2 MyBatis 的缓存机制 ........................................................................................................... 119 5.2.1 一级缓存 ......................................................................................................................... 120 5.2.2 二级缓存 ......................................................................................................................... 124 5.2.3 技能训练 ......................................................................................................................... 127 5.3 MyBatis 的常用注解 ........................................................................................................... 128 5.3.1 增删改查注解的使用 ..................................................................................................... 128 5.3.2 技能训练1....................................................................................................................... 132 5.3.3 关联注解的使用 .............................................................................................................. 132 5.3.4 技能训练2....................................................................................................................... 135 5.3.5 使用注解实现动态SQL 语句 ........................................................................................ 135 5.3.6 技能训练3....................................................................................................................... 140 5.3.7 使用注解实现二级缓存 .................................................................................................. 140 第6 章 初识Spring ................................................................................................................ 144 6.1 Spring 概述 .......................................................................................................................... 144 6.1.1 企业级应用...................................................................................................................... 144 6.1.2 Spring 的体系结构 .......................................................................................................... 145 6.1.3 Spring 的下载及目录结构 .............................................................................................. 147 6.1.4 Spring 的优点 .................................................................................................................. 148 6.2 Spring 的核心容器 .............................................................................................................. 148 6.2.1 BeanFactory ..................................................................................................................... 148 6.2.2 ApplicationContext .......................................................................................................... 149 6.3 Spring 的入门程序 .............................................................................................................. 150 6.4 DI 与IoC............................................................................................................................. 154 6.4.1 相关概念 ......................................................................................................................... 154 6.4.2 DI 的实现方法 ................................................................................................................ 154 6.4.3 理解IoC .......................................................................................................................... 156 6.4.4 技能训练1....................................................................................................................... 158 6.4.5 深入使用DI .................................................................................................................... 159 6.4.6 技能训练2....................................................................................................................... 161 第7 章 Spring Bean ................................................................................................................ 164 7.1 Bean 的配置 ......................................................................................................................... 164 7.2 Bean 的实例化 ..................................................................................................................... 165 7.2.1 构造器实例化 .................................................................................................................. 166 7.2.2 静态工厂方式实例化 ...................................................................................................... 167 7.2.3 实例工厂方式实例化 ...................................................................................................... 168 7.2.4 技能训练 ......................................................................................................................... 169 7.3 Bean 配置方式——基于XML 的配置 .............................................................................. 170 7.3.1 常用DI 的方式 ............................................................................................................... 170 7.3.2 技能训练1....................................................................................................................... 173 7.3.3 使用p 命名空间实现属性setter 方法注入 ................................................................... 174 7.3.4 技能训练2....................................................................................................................... 175 7.3.5 注入不同数据类型 .......................................................................................................... 175 7.4 Bean 配置方式——基于注解的配置 ................................................................................. 178 7.4.1 使用注解定义Bean ........................................................................................................ 178 7.4.2 使用注解实现Bean 的配置 ........................................................................................... 179 7.4.3 加载注解定义的Bean .................................................................................................... 180 7.4.4 技能训练1 ...................................................................................................................... 181 7.4.5 使用Java 标准注解完成Bean 的配置 .......................................................................... 182 7.4.6 技能训练2 ...................................................................................................................... 183 7.5 Bean 配置方式——自动配置 ............................................................................................. 183 7.6 Bean 的作用域 .................................................................................................................... 185 7.6.1 作用域的种类 ................................................................................................................. 185 7.6.2 singleton .......................................................................................................................... 185 7.6.3 prototype .......................................................................................................................... 186 7.6.4 使用注解指定Bean 的作用域 ....................................................................................... 186 7.7 Bean 的生命周期 ................................................................................................................ 187 第8 章 Spring AOP ............................................................................................................... 190 8.1 Spring AOP 概述 ................................................................................................................. 190 8.1.1 AOP 简介 ........................................................................................................................ 190 8.1.2 AOP 术语 ........................................................................................................................ 192 8.2 动态代理 ............................................................................................................................. 193 8.2.1 JDK 动态代理 ................................................................................................................. 193 8.2.2 CGLIB 动态代理 ............................................................................................................ 196 8.2.3 技能训练 ......................................................................................................................... 197 8.3 基于代理类的AOP 实现 .................................................................................................... 198 8.3.1 Spring 的增强处理类型 .................................................................................................. 198 8.3.2 ProxyFactoryBean ........................................................................................................... 198 8.3.3 技能训练 ......................................................................................................................... 200 8.4 基于XML 的声明式AspectJ ............................................................................................. 200 8.4.1 <aop:config>元素及其子元素 ........................................................................................ 201 8.4.2 常用<aop:config>元素的使用 ........................................................................................ 201 8.4.3 技能训练 ......................................................................................................................... 207 8.4.4 常用的增强处理类型 ..................................................................................................... 207 8.5 基于注解的声明式AspectJ ................................................................................................ 208 8.5.1 AspectJ 的注解 ................................................................................................................ 208 8.5.2 使用注解标注切面 ......................................................................................................... 209 8.5.3 技能训练 ......................................................................................................................... 212 8.5.4 Spring 的切面配置小结 .................................................................................................. 212 第9 章 Spring 的数据库开发及事务管理 ............................................................................... 214 9.1 Spring JDBC ........................................................................................................................ 214 9.1.1 Spring JdbcTemplate 类的解析 ....................................................................................... 214 9.1.2 Spring JDBC 的配置 ...................................................................................................... 215 9.2 Spring JdbcTemplate 类的常用方法 ................................................................................... 216 9.2.1 execute()方法 ................................................................................................................... 216 9.2.2 update()方法 .................................................................................................................... 219 9.2.3 query()方法 ...................................................................................................................... 223 9.2.4 技能训练 ......................................................................................................................... 225 9.3 Spring 事务管理概述 .......................................................................................................... 226 9.3.1 事务管理的核心接口 ...................................................................................................... 226 9.3.2 事务管理的方式 .............................................................................................................. 228 9.4 声明式事务管理 .................................................................................................................. 228 9.4.1 基于XML 的声明式事务管理 ....................................................................................... 228 9.4.2 技能训练1....................................................................................................................... 232 9.4.3 基于注解的声明式事务管理 .......................................................................................... 232 9.4.4 技能训练2....................................................................................................................... 235 第10 章 初识Spring MVC ..................................................................................................... 237 10.1 Spring MVC 概述 .............................................................................................................. 237 10.1.1 MVC 设计模式.............................................................................................................. 237 10.1.2 Spring MVC 简介 .......................................................................................................... 239 10.2 Spring MVC 的应用 .......................................................................................................... 240 10.2.1 入门项目 ....................................................................................................................... 240 10.2.2 技能训练1 ..................................................................................................................... 245 10.2.3 优化项目 ....................................................................................................................... 245 10.2.4 技能训练2 ..................................................................................................................... 248 10.3 Spring MVC 的工作流程与特点 ...................................................................................... 249 10.3.1 Spring MVC 的请求处理流程 ...................................................................................... 249 10.3.2 Spring MVC 的工作原理 .............................................................................................. 249 10.3.3 Spring MVC 的特点 ...................................................................................................... 251 10.4 Spring MVC 的核心类与常用注解 .................................................................................. 252 10.4.1 DispatcherServlet ........................................................................................................... 252 10.4.2 @Controller 注解........................................................................................................... 252 10.4.3 @RequestMapping 注解 ................................................................................................ 253 10.4.4 应用案例——基于注解的Spring MVC 的应用 .......................................................... 257 10.4.5 视图解析器 .................................................................................................................... 258 第11 章 Spring MVC 数据绑定与交互 .................................................................................. 261 11.1 数据绑定概述 .................................................................................................................... 261 11.2 简单数据绑定 .................................................................................................................... 262 11.2.1 参数传递(View to Controller) .................................................................................. 262 11.2.2 参数传递(Controller to View) .................................................................................. 272 11.2.3 技能训练 ....................................................................................................................... 276 11.3 复杂数据绑定 .................................................................................................................... 276 11.3.1 自定义数据绑定 ........................................................................................................... 276 11.3.2 Array 绑定 ..................................................................................................................... 279 11.3.3 集合绑定 ....................................................................................................................... 281 11.4 JSON 数据交互 ................................................................................................................. 283 11.4.1 JSON 概述 ..................................................................................................................... 283 11.4.2 JSON 数据转换 ............................................................................................................. 284 11.4.3 解决JSON 数据交互的常见问题 ................................................................................ 290 11.4.4 技能训练 ....................................................................................................................... 293 11.5 REST 风格 ......................................................................................................................... 293 11.5.1 REST 风格概述 ............................................................................................................. 293 11.5.2 应用案例——用户信息查询 ........................................................................................ 294 11.5.3 技能训练 ....................................................................................................................... 296 第12 章 深入使用Spring MVC ............................................................................................. 298 12.1 文件上传............................................................................................................................ 298 12.1.1 文件上传概述 ............................................................................................................... 298 12.1.2 应用案例——文件上传 ................................................................................................ 300 12.1.3 技能训练 ....................................................................................................................... 304 12.2 文件下载............................................................................................................................ 304 12.2.1 应用案例——文件下载 ................................................................................................ 304 12.2.2 应用案例——文件名为中文的文件下载 .................................................................... 305 12.2.3 技能训练 ....................................................................................................................... 307 12.3 拦截器 ............................................................................................................................... 307 12.3.1 拦截器概述 ................................................................................................................... 307 12.3.2 拦截器的执行流程 ....................................................................................................... 309 12.3.3 应用案例——用户登录权限验证 ................................................................................ 313 12.3.4 技能训练 ....................................................................................................................... 317 12.4 异常处理............................................................................................................................ 317 12.4.1 使用SimpleMappingExceptionResolver ...................................................................... 317 12.4.2 自定义ExceptionResolver ............................................................................................ 320 12.4.3 使用@ControllerAdvice 注解 ....................................................................................... 323 12.4.4 技能训练 ....................................................................................................................... 324 第13 章 SSM 框架整合 ......................................................................................................... 327 13.1 SSM 框架整合思路 ........................................................................................................... 327 13.2 XML 文件整合SSM 框架 ................................................................................................ 328 13.2.1 搭建项目基础结构 ........................................................................................................ 328 13.2.2 整合Spring 和MyBatis ................................................................................................ 333 13.2.3 整合Spring 和Spring MVC ......................................................................................... 335 13.3 纯注解整合SSM 框架 ...................................................................................................... 338 13.3.1 使用纯注解实现SSM 框架整合思路 .......................................................................... 338 13.3.2 使用纯注解实现SSM 框架整合 .................................................................................. 338 第14 章 百货中心供应链管理系统 ........................................................................................ 343 14.1 项目介绍 ............................................................................................................................ 343 14.2 需求分析 ............................................................................................................................ 344 14.2.1 功能模块需求分析 ........................................................................................................ 344 14.2.2 非功能模块需求分析 .................................................................................................... 344 14.3 系统设计 ............................................................................................................................ 345 14.3.1 系统架构介绍 ................................................................................................................ 345 14.3.2 系统模块介绍 ................................................................................................................ 346 14.3.3 系统架构设计 ................................................................................................................ 346 14.3.4 文件组织结构介绍 ........................................................................................................ 347 14.3.5 系统开发环境介绍 ........................................................................................................ 347 14.3.6 数据库设计 .................................................................................................................... 347 14.4 系统环境搭建 .................................................................................................................... 354 14.4.1 需要引入的依赖 ............................................................................................................ 354 14.4.2 数据库资源准备 ............................................................................................................ 357 14.4.3 项目环境准备 ................................................................................................................ 357 14.5 应用案例——实现用户登录模块的功能 ......................................................................... 361 14.6 应用案例——实现用户管理模块的功能 ......................................................................... 365 14.6.1 根据用户名和用户权限查询用户信息 ........................................................................ 365 14.6.2 添加用户信息 ................................................................................................................ 368 14.6.3 根据id 查询用户信息 ................................................................................................... 371 14.6.4 更新用户信息 ................................................................................................................ 373 14.6.5 删除用户信息 ................................................................................................................ 376 14.7 技能训练 ............................................................................................................................ 378
你还可能感兴趣
我要评论
|