1. 程式人生 > >《Spring+MyBatis企業應用實戰》pdf

《Spring+MyBatis企業應用實戰》pdf

內容提要

編輯

《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] 

目錄

編輯

第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[1] 

有需要的留郵箱,我看到會發給你

原文出處:https://blog.csdn.net/cf406061841/article/details/77584890