Java EE輕量級框架應用實戰——SSM框架(Spring MVC+Spring+MyBatis)(第2版)

石毅

  • 出版商: 電子工業
  • 出版日期: 2023-12-01
  • 定價: $474
  • 售價: 8.5$403
  • 語言: 簡體中文
  • 頁數: 392
  • ISBN: 7121465280
  • ISBN-13: 9787121465284
  • 相關分類: Java 程式語言Java 相關技術
  • 下單後立即進貨 (約4週~6週)

商品描述

本書對第1 版進行了更新和修訂,詳細講解了Java EE 輕量級框架中使用最多的SSM框架,即Spring MVC、Spring 和MyBatis 的基本知識和應用。隨著互聯網的迅猛發展,SSM 框架被越來越多地應用於企業級開發中,其發展勢頭已經超過大部分Java Web 框架,穩居榜首。本書以實用性為原則,在重點講解SSM 框架在企業開發中常用的核心技術的同時,分別講解了Spring MVC、Spring 和MyBatis 的精髓內容,以課堂實錄的方式,理論結合實踐,邊講邊練。此外,作者在本書中還使用SSM 框架改造了經典項目,力求通過項目的實現加深讀者對SSM 框架的理解和掌握程度。 本書提供配套完善的學習資源和支持服務,包括電子教案(PPT)、案例素材、源代碼、上機練習與課後作業參考答案、教學設計、教學大綱等,為讀者帶來全方位的學習體驗,讀者可以在華信教育資源網(www.hxedu.com.cn)上免費下載。 本書既可以作為高等院校本、專科電腦相關專業的程序設計教材,又可以作為Java 技術的培訓教材,適合廣大編程愛好者閱讀與使用。

目錄大綱

第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