本書是“大數(shù)據(jù)應(yīng)用開發(fā)(Java)”1+X職業(yè)技能等級證書配套教材,同時也是藍橋?qū)W院“Java全棧工程師”培養(yǎng)項目配套教材。本書共17章,以MyBatis基礎(chǔ)、MyBatis配置文件、SQL映射文件、關(guān)聯(lián)查詢、查詢緩存、MyBatis高級開發(fā)、Spring框架、Spring AOP、調(diào)度框架Quartz、Spring整合MyBatis、Spring MVC、視圖與表單、表單標(biāo)簽、文件上傳與攔截器、異常處理與Spring MVC處理流程、SSM整合與Maven為基礎(chǔ),通過清晰的圖文和完整的案例演示了每項技術(shù)的使用細節(jié),并且在本書的最后設(shè)置了第17章,介紹目前流行的Spring Boot、Spring Cloud等微服務(wù)技術(shù)。讀者們學(xué)習(xí)本書后,可以快速掌握Java方向的主流框架技術(shù),并將本書介紹的內(nèi)容用于企業(yè)級項目開發(fā)中。本書直接服務(wù)于“大數(shù)據(jù)應(yīng)用開發(fā)(Java)”1+X職業(yè)技能等級證書工作,可作為職業(yè)院校、應(yīng)用型本科院校的計算機應(yīng)用技術(shù)、軟件技術(shù)、軟件工程、網(wǎng)絡(luò)工程和大數(shù)據(jù)應(yīng)用技術(shù)等計算機類專業(yè)的教材,也可供從事計算機相關(guān)工作的技術(shù)人員參考。
國信藍橋教育科技(北京)股份有限公司成立于2005年,是一家以大學(xué)生就業(yè)為切入點,以職業(yè)服務(wù)為主線,基于大學(xué)生職業(yè)生涯各個階段的需求提供精準服務(wù)的人才大數(shù)據(jù)科技服務(wù)平臺;通過提供教育、就業(yè)、職業(yè)服務(wù),連接高校和企業(yè),伴隨大學(xué)生成長;獲得的資質(zhì)包括國家高新技術(shù)企業(yè)、中關(guān)村高新技術(shù)企業(yè)、人力資源服務(wù)許可證、出版物經(jīng)營許可證、教育部產(chǎn)學(xué)合作協(xié)同育人單位、教育部1+X職業(yè)技能等級證書培訓(xùn)評價組織。
目錄
第1章 MyBatis基礎(chǔ) 1
1.1 持久化及ORM的概念 1
1.1.1 持久化的概念 1
1.1.2 持久化層 1
1.1.3 ORM的概念及優(yōu)勢 2
1.2 開發(fā)第一個基于MyBatis的程序 2
1.2.1 MyBatis配置文件簡介 7
1.2.2 SQL映射文件簡介 9
1.2.3 使用MyBatis實現(xiàn)CRUD 10
1.2.4 使用Mapper動態(tài)代理優(yōu)化程序 12
1.2.5 MyBatis調(diào)用存儲過程實現(xiàn)CRUD 16
1.3 本章小結(jié) 18
1.4 本章練習(xí) 18
第2章 MyBatis配置文件 21
2.1 MyBatis參數(shù)設(shè)置 21
2.1.1 properties屬性 21
2.1.2 settings全局參數(shù)配置 22
2.2 為實體類定義別名 24
2.2.1 單個別名定義 24
2.2.2 批量別名定義 25
2.3 類型處理器 26
2.3.1 內(nèi)置類型處理器 26
2.3.2 自定義類型處理器 27
2.4 本章小結(jié) 32
2.5 本章練習(xí) 32
第3章 SQL映射文件 35
3.1 輸入?yún)?shù) 35
3.1.1 輸入?yún)?shù)為簡單類型 35
3.1.2 輸入?yún)?shù)為實體類對象 38
3.1.3 輸入?yún)?shù)為級聯(lián)對象 40
3.1.4 輸入?yún)?shù)為HashMap對象 41
3.2 輸出參數(shù) 42
3.2.1 輸出參數(shù)為簡單類型或?qū)ο?42
3.2.2 輸出參數(shù)為HashMap對象 43
3.2.3 使用resultMap指定輸出類型及映射關(guān)系 44
3.3 動態(tài)SQL 45
3.3.1 用JDBC實現(xiàn)動態(tài)SQL 45
3.3.2 用MyBatis實現(xiàn)動態(tài)SQL 46
3.4 本章小結(jié) 52
3.5 本章練習(xí) 53
第4章 關(guān)聯(lián)查詢 55
4.1 一對一查詢 55
4.1.1 使用擴展類實現(xiàn)一對一查詢 56
4.1.2 使用resultMap實現(xiàn)一對一查詢 57
4.2 一對多查詢 59
4.3 多對一查詢與多對多查詢 61
4.3.1 多對一查詢 61
4.3.2 多對多查詢 61
4.4 延遲加載 62
4.4.1 日志輸出 62
4.4.2 延遲加載詳解 63
4.5 本章小結(jié) 66
4.6 本章練習(xí) 67
第5章 查詢緩存 68
5.1 一級緩存 68
5.2 二級緩存 70
5.2.1 使用二級緩存 71
5.2.2 禁用二級緩存 73
5.2.3 清理二級緩存 73
5.3 整合第三方提供的二級緩存 75
5.4 本章小結(jié) 78
5.5 本章練習(xí) 79
第6章 MyBatis高級開發(fā) 81
6.1 MyBatis逆向工程 81
6.1.1 逆向工程簡介 81
6.1.2 使用MyBatis Generator生成代碼 81
6.1.3 MyBatis批量操作 93
6.1.4 PageHelper 97
6.2 MyBatis Plus 99
6.2.1 MyBatis Plus映射關(guān)系 99
6.2.2 使用MyBatis Plus實現(xiàn)CRUD 105
6.2.3 條件構(gòu)造器與AR編程 107
6.3 通用Mapper 108
6.3.1 Mapper概述 109
6.3.2 Mapper中的Selective問題 111
6.3.3 自定義Mapper組合 113
6.4 本章小結(jié) 115
6.5 本章練習(xí) 116
第7章 Spring框架 117
7.1 Spring框架概述 117
7.1.1 主流框架介紹 117
7.1.2 搭建Spring框架的開發(fā)環(huán)境 118
7.1.3 開發(fā)第一個Spring IoC程序 121
7.1.4 Bean的作用域 123
7.2 Spring IoC 129
7.2.1 Spring IoC的發(fā)展 129
7.2.2 通過new()方法創(chuàng)建對象 130
7.2.3 通過工廠模式獲取對象 131
7.2.4 通過Spring IoC容器獲取對象 132
7.3 依賴注入 133
7.3.1 依賴注入簡介 133
7.3.2 依賴注入的三種方式 135
7.4 自動裝配 140
7.4.1 根據(jù)屬性名自動裝配 140
7.4.2 根據(jù)屬性類型自動裝配 141
7.4.3 根據(jù)構(gòu)造器自動裝配 141
7.5 基于注解方式的IoC配置 142
7.5.1 使用注解定義Bean 142
7.5.2 使用注解實現(xiàn)自動裝配 143
7.5.3 掃描注解定義的Bean 144
7.6 本章小結(jié) 145
7.7 本章練習(xí) 145
第8章 Spring AOP 147
8.1 AOP的原理 147
8.2 AOP的應(yīng)用 149
8.2.1 基于XML配置文件 149
8.2.2 基于注解 156
8.2.3 基于Schema配置 161
8.3 Spring配置文件 165
8.3.1 配置文件的拆分思路 165
8.3.2 配置文件的加載路徑 166
8.3.3 配置文件的整合 166
8.4 本章小結(jié) 168
8.5 本章練習(xí) 168
第9章 調(diào)度框架Quartz 170
9.1 Quartz框架 170
9.1.1 Quartz框架的基本概念 170
9.1.2 Quartz框架入門程序 171
9.1.3 JobExecutionContext 174
9.1.4 ScheduleBuilder 176
9.2 在Spring中集成Quartz 178
9.2.1 Spring整合Quartz的原理 178
9.2.2 通過案例演示Spring整合Quartz 179
9.3 本章小結(jié) 185
9.4 本章練習(xí) 185
第10章 Spring整合MyBatis 187
10.1 Spring整合MyBatis原理 187
10.2 通過實例演示Spring整合MyBatis 188
10.3 Spring整合MyBatis后的事務(wù)管理 193
10.4 本章小結(jié) 200
10.5 本章練習(xí) 201
第11章 Spring MVC 202
11.1 Spring MVC入門 202
11.1.1 Spring MVC的獲取 202
11.1.2 開發(fā)第一個Spring MVC程序 203
11.2 Spring MVC映射 207
11.2.1 @RequestMapping 207
11.2.2 Ant風(fēng)格 211
11.2.3 使用@PathVariable獲取動態(tài)參數(shù) 212
11.2.4 REST風(fēng)格 213
11.2.5 使用@RequestParam獲取請求參數(shù) 215
11.3 使用Spring MVC獲取特殊參數(shù) 217
11.3.1 @RequestHeader與@CookieValue 217
11.3.2 實體參數(shù)與Servlet API的使用 219
11.4 處理模型數(shù)據(jù) 221
11.4.1 使用ModelAndView處理數(shù)據(jù) 221
11.4.2 使用Map、ModelMap、Model作為方法的參數(shù)處理數(shù)據(jù) 222
11.4.3 使用@SessionAttributes注解處理數(shù)據(jù) 223
11.4.4 使用@ModelAttribute注解處理數(shù)據(jù) 224
11.5 本章小結(jié) 227
11.6 本章練習(xí) 228
第12章 視圖與表單 230
12.1 視圖 230
12.1.1 視圖組件View 230
12.1.2 視圖解析器ViewResolver 231
12.2 處理靜態(tài)資源 237
12.2.1 靜態(tài)資源的特殊性 237
12.2.2 使用Spring MVC處理靜態(tài)資源 238
12.3 處理表單數(shù)據(jù) 239
12.3.1 類型轉(zhuǎn)換 239
12.3.2 格式化數(shù)據(jù) 241
12.3.3 數(shù)據(jù)校驗 244
12.4 本章小結(jié) 247
12.5 本章練習(xí) 248
第13章 表單標(biāo)簽 250
13.1 form標(biāo)簽 250
13.1.1 綁定表單對象 250
13.1.2 支持所有的表單提交方式 253
13.2 表單元素 255
13.2.1 input標(biāo)簽、hidden標(biāo)簽、password標(biāo)簽和textarea標(biāo)簽 255
13.2.2 checkbox標(biāo)簽和checkboxes標(biāo)簽 255
13.2.3 radiobutton標(biāo)簽和radiobuttons標(biāo)簽 263
13.2.4 select標(biāo)簽 265
13.2.5 option標(biāo)簽和options標(biāo)簽 266
13.2.6 errors標(biāo)簽 271
13.3 本章小結(jié) 275
13.4 本章練習(xí) 276
第14章 文件上傳與攔截器 277
14.1 文件上傳 277
14.1.1 文件上傳原理 277
14.1.2 使用Spring MVC實現(xiàn)文件上傳案例 277
14.2 Spring MVC攔截器 279
14.2.1 攔截器簡介 279
14.2.2 攔截器的使用步驟 280
14.2.3 攔截器的攔截配置 281
14.3 使用Spring MVC整合JSON 282
14.4 本章小結(jié) 284
14.5 本章練習(xí) 284
第15章 異常處理與Spring MVC處理流程 286
15.1 異常處理 286
15.1.1 ExceptionHandlerExceptionResolver 286
15.1.2 ResponseStatusExceptionResolver 289
15.1.3 DefaultHandlerExceptionResolver 291
15.1.4 SimpleMappingExceptionResolver 292
15.2 Spring MVC執(zhí)行流程 294
15.2.1 Spring MVC核心對象 294
15.2.2 Spring MVC處理流程 295
15.3 本章小結(jié) 298
15.4 本章練習(xí) 299
第16章 SSM整合與Maven 300
16.1 SSM整合 300
16.1.1 SSM整合的基本步驟 300
16.1.2 優(yōu)化SSM整合 305
16.2 Maven 307
16.2.1 Maven的安裝 307
16.2.2 開發(fā)第一個Maven項目 308
16.2.3 使用Maven重構(gòu)SSM項目 313
16.3 本章小結(jié) 319
16.4 本章練習(xí) 319
第17章 微服務(wù) 321
17.1 Spring Boot 321
17.1.1 Spring Boot基礎(chǔ) 322
17.1.2 使用Spring Boot開發(fā)Web應(yīng)用 332
17.2 Spring Cloud 337
17.2.1 微服務(wù)概述 337
17.2.2 Spring Cloud生態(tài)概述 338
17.2.3 使用Spring Cloud構(gòu)建微服務(wù)項目 339
17.3 本章小結(jié) 349
17.4 本章練習(xí) 350
附錄A 部分練習(xí)參考答案及解析 351
參考文獻 361