| 作者 |
| 石毅 |
| 丛书名 |
| “十三五”普通高等教育规划教材 |
| 出版社 |
| 电子工业出版社 |
| ISBN |
| 9787121391088 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 本书详细讲解Java EE中使用最多的Spring、Spring MVC和MyBatis(简称SSM)三大框架的基本知识和应用。随着互联网的迅猛发展,SSM框架被越来越多地应用于企业级开发之中,其发展势头已经超过大部分Java Web框架,稳居榜首。本书以实用性为原则,采用课堂实录的形式,以任务为驱动,理论与实践相结合,重点讲解SSM框架在企业开发中常用的核心技术,分别讲解MyBatis、Spring和Spring MVC三大框架的精髓内容。在内容上逐层深入,而非一次铺开。百货中心供应链管理系统”案例贯穿始终,利用各章所学技能对其功能进行实现或优化,让读者在学习技能的同时获取项目开发经验,加深读者对技术的理解和掌握程度。 本书提供完善的免费配套资源和支持服务,包括电子教案(PPT)、案例素材、源代码、各章上机练习与课后作业参考答案、教学设计、教学大纲等,希望带给读者全方位的学习体验,可登录电子工业出版社华信资源网(www.hxedu.com.cn)下载使用。 本书既可作为高等院校本、专科计算机相关专业的程序设计教材,也可作为Java技术的培训图书,适合广大编程爱好者阅读与使用。 |
| 目录 |
| 第1章 初识MyBatis框架 1 1.1 企业级框架技术 1 1.1.1 为什么学习框架技术 1 1.1.2 框架的概念 3 1.1.3 主流框架的介绍 3 1.2 MyBatis框架简介 4 1.2.1 数据持久化概念 4 1.2.2 MyBatis框架 5 1.2.3 ORM框架 5 1.2.4 主流的ORM框架 5 1.2.5 MyBatis框架的环境搭建 6 1.2.6 MyBatis框架的优、缺点及其适用场合 15 1.2.7 技能训练 15 1.3 MyBatis框架的工作原理 16 1.4 MyBatis框架的入门程序 17 1.4.1 查询用户 17 1.4.2 技能训练1 21 1.4.3 添加用户 21 1.4.4 更新用户 22 1.4.5 删除用户 24 1.4.6 技能训练2 25 第2章 MyBatis框架的核心配置 28 2.1 MyBatis框架的核心接口和类 28 2.1.1 SqlSessionFactoryBuilder 29 2.1.2 SqlSessionFactory 30 2.1.3 SqlSession 31 2.1.4 技能训练 34 2.2 MyBatis框架的核心配置文件 35 2.2.1 mybatis-config.xml文件结构 35 2.2.2 DTD文件的引入 44 2.2.3 技能训练 45 2.3 MyBatis框架的映射文件 45 2.3.1 主要元素 46 2.3.2 <select>元素 46 2.3.3 <insert>元素 47 2.3.4 <update>元素和<delete>元素 48 2.3.5 <sql>元素 49 2.3.6 <resultMap>元素 50 2.3.7 技能训练 50 2.4 使用接口实现条件查询 51 2.4.1 使用select元素完成单条件查询 51 2.4.2 使用select元素完成多条件查询 52 2.4.3 实现查询结果的展现 54 2.4.4 技能训练 59 2.5 使用接口实现“增删改”操作 60 2.5.1 使用insert元素完成增加操作 60 2.5.2 使用update元素完成修改操作 61 2.5.3 使用@Param注解实现多参数入参 62 2.5.4 使用delete元素完成删除操作 63 2.5.5 技能训练 64 第3章 动态SQL 67 3.1 动态SQL的元素 67 3.2 使用动态SQL完成多条件查询 68 3.2.1 使用元素if+where实现多条件查询 68 3.2.2 技能训练1 73 3.2.3 使用元素if+trim实现多条件查询 74 3.2.4 <choose>元素、<when>元素、<otherwise>元素 75 3.2.5 技能训练2 77 3.3 使用动态SQL实现更新操作 77 3.3.1 使用元素if+set改造更新操作 77 3.3.2 技能训练1 80 3.3.3 使用元素if+trim改造修改操作 80 3.3.4 技能训练2 81 3.4 使用foreach元素完成复杂查询 81 3.4.1 MyBatis框架入参为数组类型的foreach迭代 82 3.4.2 MyBatis框架入参为List类型的foreach迭代 83 3.4.3 技能训练1 84 3.4.4 MyBatis框架入参为Map类型的foreach迭代 84 3.4.5 技能训练2 87 3.5 bind元素 87 第4章 MyBatis框架的关联映射 91 4.1 关联映射 91 4.1.1 关联关系概述 91 4.1.2 resultMap元素的基本配置项 92 4.2 一对一(association) 92 4.2.1 应用案例:用户和身份证间的关联 93 4.2.2 应用案例:用户和用户角色的关联 97 4.2.3 技能训练 102 4.3 一对多(collection) 102 4.3.1 应用案例:用户角色关联用户信息 103 4.3.2 应用案例:商品类型关联商品信息 105 4.3.3 技能训练 107 4.4 多对多(collection) 107 4.4.1 应用案例:销售订单关联订购商品信息 108 4.4.2 技能训练 112 4.5 resultMap自动映射级别 112 第5章 深入使用MyBatis框架 115 5.1 MyBatis框架实现分页功能 115 5.1.1 借助SQL语句进行分页 116 5.1.2 分页参数RowBounds 118 5.1.3 使用PageHelper插件实现分页 120 5.1.4 技能训练 124 5.2 MyBatis框架的事务管理 124 5.2.1 事务的概念 124 5.2.2 Transaction接口 125 5.2.3 事务的配置创建和使用 125 5.3 MyBatis框架的缓存机制 131 5.3.1 一级缓存(SqlSession级别) 132 5.3.2 二级缓存(mapper级别) 135 5.3.3 技能训练 139 5.4 常用Annotation注解 139 5.4.1 “增删改查”注解的使用 140 5.4.2 技能训练1 144 5.4.3 关联注解的使用 144 5.4.4 技能训练2 147 5.4.5 动态SQL 147 5.4.6 技能训练3 152 5.4.7 二级缓存 152 第6章 初识Spring框架 156 6.1 Spring框架概述 156 6.1.1 企业级应用开发 156 6.1.2 Spring框架的体系结构 157 6.1.3 Spring框架的下载及结构 159 6.1.4 Spring框架的优点 161 6.2 Spring框架的核心容器 161 6.2.1 BeanFactory 161 6.2.2 ApplicationContext 162 6.3 Spring框架的入门程序 163 6.4 依赖注入(DI)与控制反转(IoC) 167 6.4.1 相关概念 167 6.4.2 依赖注入的实现方式 168 6.4.3 理解“控制反转” 169 6.4.4 技能训练1 172 6.4.5 深入使用“依赖注入” 172 6.4.6 技能训练2 175 第7章 Spring框架中的Bean 178 7.1 Bean的配置 178 7.2 Bean的实例化 179 7.2.1 构造器实例化 179 7.2.2 静态工厂方式实例化 181 7.2.3 实例工厂方式实例化 182 7.2.4 技能训练 183 7.3 Bean装配方式—基于XML的装配 183 7.3.1 常用的依赖注入方式 183 7.3.2 技能训练1 187 7.3.3 使用p命名空间实现属性注入 187 7.3.4 技能训练2 188 7.3.5 注入不同数据类型 188 7.4 Bean装配方式—基于Annotation装配 192 7.4.1 使用注解定义Bean 192 7.4.2 使用注解实现Bean组件装配 193 7.4.3 加载注解定义的Bean 194 7.4.4 技能训练1 195 7.4.5 使用Java标准注解完成装配 196 7.4.6 技能训练2 197 7.5 Bean装配方式—自动装配 197 7.6 Bean的作用域 199 7.6.1 作用域的种类 199 7.6.2 singleton 作用域 199 7.6.3 prototype作用域 200 7.6.4 使用注解指定Bean的作用域 201 7.7 Bean的生命周期 201 第8章 Spring AOP 205 8.1 Spring AOP简介 205 8.1.1 AOP 205 8.1.2 理解“面向切面编程” 206 8.1.3 AOP术语 207 8.2 动态代理 208 8.2.1 JDK动态代理 208 8.2.2 CGLIB代理 211 8.2.3 技能训练 212 8.3 基于代理类的AOP实现 213 8.3.1 Spring的通知类型 213 8.3.2 ProxyFactoryBean 213 8.3.3 技能训练 215 8.4 基于XML的声明式AspectJ 216 8.4.1 <aop:config>元素及其子元素 216 8.4.2 常用增强的使用 216 8.4.3 技能训练 221 8.4.4 比较常用的增强类型 222 8.5 基于注解的声明式AspectJ 222 8.5.1 @AspectJ简介 223 8.5.2 使用注解标注切面 223 8.5.3 技能训练 226 8.5.4 Spring框架的切面配置小结 226 第9章 Spring框架的数据库开发及事务管理 229 9.1 Spring JDBC 229 9.1.1 Spring JdbcTemplate的解析 229 9.1.2 Spring JDBC的配置 230 9.2 Spring JdbcTemplate的常用方法 231 9.2.1 execute()方法—执行SQL语句 231 9.2.2 update()方法—更新数据 233 9.2.3 query()方法—查询数据 237 9.2.4 技能训练 239 9.3 Spring框架事务管理概述 239 9.3.1 事务管理的核心接口 239 9.3.2 事务管理的方式 241 9.4 声明式事务管理 242 9.4.1 基于XML方式的声明式事务 242 9.4.2 技能训练1 246 9.4.3 基于Annotation方式的声明式事务 246 9.4.4 技能训练2 249 第10章 MyBatis与Spring的框架整合 251 10.1 Spring框架对MyBatis框架的整合思路 251 10.2 Spring框架整合MyBatis框架的准备工作 252 10.2.1 准备所需的JAR包 252 10.2.2 建立开发结构 253 10.3 实现Spring对MyBatis的框架整合 255 10.3.1 配置数据源 256 10.3.2 配置SqlSessionFactoryBean 256 10.3.3 使用SqlSessionTemplate实现数据库的操作 257 10.3.4 编写业务逻辑代码并测试 258 10.3.5 技能训练 259 10.4 注入Mapper接口方式的开发整合 259 10.4.1 使用MapperFactoryBean注入映射器 260 10.4.2 使用MapperScannerConfigurer注入映射器 261 10.4.3 技能训练 263 10.5 测试事务 263 10.5.1 添加用户事务测试 263 10.5.2 技能训练 266 10.6 Spring配置补充 266 10.6.1 灵活配置DataSource 266 10.6.2 技能训练 267 10.6.3 拆分Spring框架的配置文件 267 第11章 初识Spring MVC框架 271 11.1 Spring MVC框架简介 271 11.1.1 MVC设计模式 271 11.1.2 Spring MVC框架 274 11.2 第一个Spring MVC框架的应用 274 11.2.1 入门案例 275 11.2.2 技能训练1 278 11.2.3 优化项目 278 11.2.4 技能训练2 282 11.3 Spring MVC框架的工作流程与优势 282 11.3.1 Spring MVC框架的请求处理流程 282 11.3.2 Spring MVC框架的工作原理 283 11.3.3 Spring MVC框架的特点 284 11.4 Spring MVC框架的核心类与常用注解 285 11.4.1 DispatcherServlet 285 11.4.2 Controller注解类型 286 11.4.3 RequestMapping注解类型 286 11.4.4 应用案例—基于注解的Spring MVC框架应用 290 11.4.5 ViewResolver(视图解析器) 292 第12章 数据交互与绑定 295 12.1 数据绑定介绍 295 12.2 简单参数传递 296 12.2.1 参数传递(View to Controller) 296 12.2.2 参数传递(Controller to View) 306 12.2.3 技能训练 310 12.3 复杂数据绑定 310 12.3.1 绑定自定义数据 310 12.3.2 绑定数组 313 12.3.3 绑定集合 315 12.4 JSON数据交互 317 12.4.1 JSON概述 317 12.4.2 JSON数据转换 319 12.4.3 解决JSON数据传递的常见问题 325 12.4.4 技能训练 328 12.5 RESTful支持 328 12.5.1 RESTful风格 328 12.5.2 应用案例—用户信息查询 329 12.5.3 技能训练 331 第13章 文件上传和下载与拦截器机制 333 13.1 文件上传 333 13.1.1 文件上传的概述 333 13.1.2 应用案例—文件上传 335 13.1.3 技能训练 339 13.2 文件下载 339 13.2.1 实现文件下载 339 13.2.2 中文名称的文件下载 340 13.2.3 技能训练 342 13.3 拦截器 342 13.3.1 拦截器的概述 342 13.3.2 拦截器的执行流程 344 13.3.3 应用案例—实现用户登录权限验证 348 13.3.4 技能训练 352 第14章 深入使用Spring MVC框架 355 14.1 Spring MVC框架的异常处理 355 14.1.1 异常处理 355 14.1.2 技能训练 357 14.2 表单标签库 358 14.2.1 表单标签库 358 14.2.2 应用案例—表单标签库的使用 361 14.3 数据转换和格式化 366 14.3.1 数据绑定的流程 366 14.3.2 数据转换 367 14.3.3 应用案例—实现日期数据转换 368 14.3.4 数据格式化 373 14.3.5 应用案例—实现日期数据格式化 374 14.4 数据校验 379 14.4.1 Spring的Validation校验框架 379 14.4.2 JSR 303校验 382 第15章 SSM框架整合与项目案例 390 15.1 整合环境搭建 390 15.1.1 整合思路 390 15.1.2 准备所需的JAR包 391 15.1.3 编写配置文件 392 15.2 应用案例—用户登录系统 396 15.3 应用案例—实现用户管理模块的“增删改查”操作 400 15.3.1 查询用户信息列表 400 15.3.2 添加用户 403 15.3.3 查看用户信息 406 15.3.4 修改用户 408 15.3.5 删除用户 411 15.4 技能训练 414 附录A 贯穿案例:百货中心供应链管理系统 416 |