《Spring+MyBatis企業套用實戰》一書由瘋狂軟體編著,電子工業出版社2017年1月出版
基本介紹
- 書名:Spring+MyBatis企業套用實戰
- 作者:瘋狂軟體
- ISBN:978-7-121-30421-7
- 頁數:324
- 定價:58.00
- 出版社:電子工業出版社
- 出版時間:2017年1月
- 開本:16開
內容提要,目錄,
內容提要
《Spring+MyBatis企業套用實戰》介紹了Java EE 領域的兩個開源框架:Spring 的MVC 和MyBatis。其中Spring 的版本為4.2,MyBatis 的版本是3.4。本書的示例建議在Tomcat 8 上運行。
《Spring+MyBatis企業套用實戰》重點介紹如何整合Spring MVC 4+MyBatis 3 進行Java EE 開發,主要包括三個部分。第一部分詳細介紹了Spring MVC 框架的用法。第二部分詳細介紹了MyBatis 框架的用法。第三部分重點介紹了SpringMVC4+MyBatis 3 的整合,並示範開發了一個包含6 個表、表之間具有複雜的關聯映射關係,且業務功能也相對完善的HRM 人事管理系統案例,希望讓讀者理論聯繫實際,將這兩個框架真正運用到實際開發當中去。該案例採用目前最流行、最規範的Java EE 架構,整個套用分為DAO 持久層、領域對象層、業務邏輯層、控制器層和視圖層,各層之間分層清晰,層與層之間以松耦合的方法組織在一起。所有代碼完全基於Eclipse IDE 來完成,一步步帶領讀者深入兩個框架的核心。
閱讀《Spring+MyBatis企業套用實戰》之前,建議先閱讀瘋狂軟體教育的《瘋狂Java 講義》一書。《Spring+MyBatis企業套用實戰》適合有較好的Java 編程基礎,JSP、Servlet、JDBC 基礎,Spring 框架基礎的讀者,尤其適合於對Spring MVC 和MyBatis 了解不夠深入,或對Spring MVC+MyBatis 整合開發不太熟悉的開發人員閱讀。
目錄
第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 MyBatis3及替代技術 5
1.2.3 Spring4及替代技術 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 Struts2和Spring MVC 11
2.3 開發第一個Spring MVC套用 11
2.3.1 Spring的下載和安裝 11
2.3.2 Spring MVC的DispatcherServlet 12
2.3.3 基於Controller接口的控制器 13
示例:第一個Spring MVC套用 13
示例:基於註解的控制器 17
2.4 詳解DispatcherServlet 19
2.5 Spring MVC執行的流程 21
2.5.1 Spring MVC套用的開發步驟 22
2.5.2 Spring MVC執行的流程 23
2.6 本章小結 24
第3章 Spring MVC的常用註解 25
3.1 @Controller註解 26
示例:@Controller註解的使用 26
3.2 @RequestMapping註解 28
3.2.1 @RequestMapping註解 28
3.2.2 請求處理方法可出現的參數類型 30
3.2.3 請求處理方法可返回的類型 31
3.2.4 Model和ModelAndView 31
示例:Model和ModelMap的使用 32
示例:ModelAndView的使用 33
3.3 參數綁定註解 33
3.3.1 @RequestParam註解 33
示例:@RequestMapping和@RequestParam註解的使用 34
3.3.2 @PathVariable註解 38
3.3.3 @RequestHeader註解 38
3.3.4 @CookieValue註解 39
示例:@PathVariable、@RequestHeader和@CookieValue註解的使用 39
3.3.5 @SessionAttributes註解 41
示例:@SessionAttributes註解的使用 41
3.3.6 @ModelAttribute註解 42
示例:@ModelAttribute註解的使用 43
3.4 信息轉換 49
3.4.1 HttpMessageConverter<T>接口 49
3.4.2 轉換JSON數據 51
示例:接收JSON格式的數據 51
示例:自定義HttpMessageConverter接收JSON格式的數據 55
示例:返回JSON格式的數據 57
示例:自定義HttpMessageConverter返回JSON格式的數據 58
3.4.3 轉換XML數據 59
示例:接收XML格式的數據 59
示例:返回XML格式的數據 61
3.5 本章小結 62
第4章 Spring MVC的標籤庫 64
4.1 表單標籤庫 65
4.1.1 form標籤 65
4.1.2 input標籤 66
示例:form和input標籤的使用 66
4.1.3 password標籤 68
4.1.4 hidden標籤 69
4.1.5 textarea標籤 69
4.1.6 checkbox標籤 70
示例:checkbox標籤的使用 70
4.1.7 checkboxes標籤 71
示例:checkboxes標籤的使用 72
4.1.8 radiobutton標籤 76
示例:radiobutton標籤的使用 76
4.1.9 radiobuttons標籤 77
示例:radiobuttons標籤的使用 77
4.1.10 select標籤 79
4.1.11 option標籤 79
4.1.12 options標籤 79
示例:select、option和options標籤的使用 80
4.1.13 errors標籤 83
示例:errors標籤的使用 84
4.2 本章小結 86
第5章 Spring MVC的國際化 87
5.1 Spring MVC國際化的相關知識 88
5.1.1 messageSource 88
5.1.2 localeResolver 88
5.1.3 message標籤 89
5.2 AcceptHeaderLocaleResolver國際化 89
示例:基於瀏覽器請求的國際化實現 89
5.3 SessionLocaleResolver國際化 92
示例:基於HttpSession的國際化實現 93
5.4 CookieLocaleResolver國際化 95
示例:基於Cookie的國際化實現 95
5.5 本章小結 96
第6章 Spring MVC的數據轉換、格式化和數據校驗 97
6.1 數據綁定流程 98
6.2 數據轉換 98
6.2.1 ConversionService 98
6.2.2 Spring支持的轉換器 99
示例:使用ConversionService轉換數據 100
示例:使用@InitBinder添加自定義編輯器轉換數據 103
示例:使用WebBindingInitializer註冊全局自定義編輯器轉換數據 103
6.2.3 多種轉換器的優先順序 104
6.3 數據格式化 104
示例:使用Formatter格式化數據 105
示例:使用FormatterRegistrar註冊Formatter 107
示例:使用AnnotationFormatterFactory<A extends Annotation>格式化數據 108
6.4 數據校驗 110
6.4.1 Spring的Validation校驗框架 111
示例:測試Spring的Validation校驗 112
6.4.2 JSR 303校驗 114
示例:測試JSR 303校驗 115
6.5 本章小結 120
第7章 Spring MVC的檔案上傳和下載 121
7.1 檔案上傳 122
示例:Spring MVC的檔案上傳 122
示例:使用對象接收上傳檔案 124
7.2 檔案下載 125
示例:Spring MVC的檔案下載 125
7.3 攔截器 126
7.3.1 HandlerInterceptor接口 127
示例:攔截器實現用戶許可權驗證 127
7.4 本章小結 131
第8章 MyBatis簡介 132
8.1 ORM和MyBatis 133
8.1.1 對象/關係資料庫映射(ORM) 133
8.1.2 基本映射方式 134
8.1.3 流行的ORM框架簡介 135
8.1.4 MyBatis概述 135
8.2 MyBatis入門 136
8.2.1 MyBatis下載和安裝 136
8.2.2 MyBatis的資料庫操作 137
8.3 本章小結 142
第9章 MyBatis的基本用法 143
9.1 MyBatis的體系結構 144
9.1.1 SqlSessionFactory 144
9.1.2 SqlSession 144
9.2 深入MyBatis的配置檔案 146
9.2.1 MyBatis的配置檔案結構 147
9.2.2 properties屬性 147
9.2.3 settings設定 148
9.2.4 typeAliases類型命名 150
9.2.5 typeHandlers類型處理器 151
9.2.6 objectFactory對象工廠 152
9.2.7 environments配置環境 152
9.2.8 mapper映射器 154
9.3 深入Mapper XML映射檔案 155
9.3.1 select 155
9.3.2 insert、update和delete 157
9.3.3 sql 158
9.3.4 參數(Parameters) 159
示例:測試select、insert、update和delete操作 159
9.3.5 ResultMaps 163
示例:測試ResultMaps 163
9.4 本章小結 169
第10章 MyBatis的關聯映射和動態SQL 170
10.1 MyBatis的關聯映射 171
10.1.1 一對一 171
示例:OneToOneTest 171
10.1.2 一對多 174
示例:OneToManyTest 174
10.1.3 多對多 179
示例:ManyToManyTest 179
10.2 動態SQL 185
示例:DynamicSQLTest 185
10.2.1 if 186
10.2.2 choose(when、otherwise) 188
10.2.3 where 190
10.2.4 set 191
10.2.5 foreach 192
10.2.6 bind 193
10.3 本章小結 194
第11章 MyBatis的事務管理和快取機制 195
11.1 MyBatis的事務管理 196
11.1.1 事務的概念 196
11.1.2 Transaction接口 196
11.1.3 事務的配置創建和使用 197
11.2 MyBatis的快取機制 201
11.2.1 一級快取(SqlSession級別) 201
示例OneLevelCacheTest 201
11.2.2 二級快取(mapper級別) 204
示例:TwoLevelCacheTest 204
11.3 本章小結 207
第12章 MyBatis的註解配置 208
12.1 常用Annotation註解 209
12.2 Annotation註解的使用 209
示例:測試select、insert、update和delete操作 210
示例:AOneToOneTest 213
示例:AOneToManyTest 215
示例:AManyToManyTest 216
示例:ADynamicSQLTest 218
12.3 本章小結 224
第13章 Spring4整合MyBatis3 225
13.1 開發環境搭建 226
13.2 準備所需的jar包 226
13.3 準備資料庫資源 226
13.4 完成配置檔案 227
13.5 持久層功能實現 229
13.6 服務層功能實現 230
13.7 控制層功能實現 232
13.8 jsp頁面 233
13.9 測試Spring4整合MyBatis3 234
13.10 本章小結 235
第14章 實戰項目:人事管理系統 236
14.1 項目簡介及系統結構 237
14.1.1 系統功能介紹 237
14.1.2 相關技術介紹 238
14.1.3 系統結構 238
14.1.4 系統的功能模組 239
14.2 數據表和持久化類 239
14.2.1 設計資料庫表 239
14.2.2 設計持久化實體 241
14.2.3 創建持久化實體類 242
14.3 實現DAO持久層 248
14.3.1 公共常量類 249
14.3.2 定義DAO接口 249
14.3.3 部署DAO層 263
14.4 實現Service持久層 264
14.4.1 業務邏輯組件的設計 264
14.4.2 實現業務邏輯組件 264
14.4.3 事務管理 279
14.4.4 部署業務邏輯組件 279
14.5 實現Web層 280
14.5.1 控制器的處理順序 280
14.5.2 用戶管理 283
14.5.3 部門管理 287
14.5.4 職位管理 290
14.5.5 員工管理 292
14.5.6 公告管理 296
14.5.7 下載中心 299
14.6 本章小結 303
附錄A EL表達式和JSTL標籤庫 304