MyBatis核心技術(shù)全解與項(xiàng)目實(shí)戰(zhàn)
定 價(jià):119.8 元
- 作者:賴帆(@谷哥的小弟)著
- 出版時(shí)間:2024/2/1
- ISBN:9787115635655
- 出 版 社:人民郵電出版社
- 中圖法分類:TP312.8
- 頁(yè)碼:360
- 紙張:
- 版次:1
- 開本:16開
本書主要內(nèi)容包括MyBatis開發(fā)環(huán)境、基本操作、運(yùn)行原理、關(guān)聯(lián)映射、動(dòng)態(tài)SQL、緩存機(jī)制、注解開發(fā)、插件技術(shù)、逆向工程以及國(guó)內(nèi)流行的MyBatis-Plus,最后一章結(jié)合Spring Boot技術(shù)詳細(xì)介紹了MyBatis在項(xiàng)目實(shí)戰(zhàn)中的應(yīng)用。
1.實(shí)戰(zhàn)經(jīng)驗(yàn)豐富的作者傾力之作:作者賴帆(@谷哥的小弟)擁有十余年一線開發(fā)經(jīng)驗(yàn),不僅在多個(gè)技術(shù)領(lǐng)域有著深厚的積累,還是CSDN年度十大博客之星,確保了本書內(nèi)容的專業(yè)性和實(shí)用性。
2.深入淺出講解MyBatis:不僅覆蓋了MyBatis的基礎(chǔ)操作和開發(fā)環(huán)境搭建,還深入探討了其運(yùn)行原理、高級(jí)特性,以及注解開發(fā)和插件技術(shù),為讀者提供了一個(gè)全面的MyBatis學(xué)習(xí)路徑。
3.結(jié)合新技術(shù)趨勢(shì):介紹了MyBatis-Plus這一國(guó)內(nèi)流行的MyBatis增強(qiáng)工具,以及如何與當(dāng)前熱門的Spring Boot技術(shù)結(jié)合,確保讀者能夠掌握新的技術(shù)動(dòng)態(tài)和應(yīng)用實(shí)踐。
4.項(xiàng)目實(shí)戰(zhàn)導(dǎo)向:本書以實(shí)際項(xiàng)目為出發(fā)點(diǎn),通過(guò)Spring Boot項(xiàng)目實(shí)戰(zhàn)案例,幫助讀者將理論知識(shí)轉(zhuǎn)化為實(shí)際開發(fā)能力,提升解決實(shí)際問(wèn)題的能力。
4.適合各層次Java開發(fā)者:對(duì)于初學(xué)者,它是進(jìn)入MyBatis世界的敲門磚;對(duì)于有經(jīng)驗(yàn)的開發(fā)者,它是提升技能和深化理解的良師益友。
賴帆(@谷哥的小弟),CSDN技術(shù)博主,十余年一線開發(fā)經(jīng)驗(yàn)。歷任研發(fā)工程師、技術(shù)組長(zhǎng)、高級(jí)開發(fā)工程師、技術(shù)經(jīng)理、技術(shù)部門主管等職位。曾任職于上市集團(tuán)研發(fā)中心,精通Java、C/C++、Python、SQL、JavaScript、Go等主流開發(fā)語(yǔ)言。擅長(zhǎng)互聯(lián)網(wǎng)應(yīng)用開發(fā)與實(shí)踐,熱衷于開源技術(shù),對(duì)Spring Boot、Spring Cloud、Vue、Flutter等熱門技術(shù)有著深入的研究。 長(zhǎng)期以來(lái),作者堅(jiān)持在CSDN輸出優(yōu)質(zhì)技術(shù)博客。曾于2016年、2020年兩度榮獲CSDN年度十大博客之星。截至2023年年底,共創(chuàng)作1400多篇優(yōu)質(zhì)博文,博客訪問(wèn)量累計(jì)達(dá)370萬(wàn)。
第 1章 MyBatis快速上手 1
1.1 概要 1
1.1.1 MyBatis的主要特征 1
1.1.2 ORM模型概要 2
1.1.3 MyBatis與Hibernate的比較 2
1.1.4 MyBatis的下載與使用 3
1.2 開發(fā)環(huán)境的搭建 4
1.2.1 基礎(chǔ)環(huán)境檢查 4
1.2.2 創(chuàng)建項(xiàng)目 4
1.2.3 配置Maven 6
1.3 入門案例開發(fā)詳解 7
1.3.1 案例開發(fā)準(zhǔn)備 7
1.3.2 創(chuàng)建Module 8
1.3.3 Module的結(jié)構(gòu) 10
1.3.4 設(shè)置打包方式 10
1.3.5 添加依賴 11
1.3.6 添加日志配置文件 12
1.3.7 創(chuàng)建實(shí)體類 12
1.3.8 創(chuàng)建接口文件 13
1.3.9 創(chuàng)建映射文件 13
1.3.10 編寫全局配置文件 14
1.3.11 編寫測(cè)試代碼 15
1.3.12 入門案例總結(jié) 17
1.4 核心基礎(chǔ) 17
1.4.1 MyBatis獲取參數(shù)的兩種方式 17
1.4.2 增刪改查標(biāo)簽 18
1.4.3 增刪改查案例實(shí)踐 19
1.4.4 SqlSession工具類 27
1.4.5 增刪改查案例優(yōu)化 28
1.5 小結(jié) 32
第 2章 MyBatis運(yùn)行原理剖析 33
2.1 MyBatis全局配置文件 33
2.1.1 34
2.1.2 35
2.1.3 35
2.1.4 37
2.1.5 38
2.1.6 38
2.1.7 38
2.1.8 40
2.1.9 40
2.2 MyBatis關(guān)鍵API 41
2.2.1 SqlSessionFactoryBuilder 42
2.2.2 SqlSessionFactory 42
2.2.3 SqlSession 43
2.3 MyBatis運(yùn)行原理 45
2.4 小結(jié) 46
第3章 MyBatis開發(fā)技能進(jìn)階 47
3.1 查詢操作詳解 47
3.1.1 查詢單行數(shù)據(jù),返回單個(gè)對(duì)象 47
3.1.2 查詢多行數(shù)據(jù),返回List集合 49
3.1.3 統(tǒng)計(jì)記錄條數(shù) 50
3.1.4 查詢單行數(shù)據(jù),返回Map集合 51
3.1.5 查詢多行數(shù)據(jù),返回Map集合 53
3.1.6 模糊查詢 54
3.2 參數(shù)傳遞與接收 55
3.2.1 傳遞和接收單個(gè)普通類型參數(shù) 56
3.2.2 傳遞和接收多個(gè)普通類型參數(shù) 57
3.2.3 利用@Param注解傳遞多個(gè)普通類型參數(shù) 58
3.2.4 傳遞和接收單個(gè)POJO參數(shù) 60
3.2.5 傳遞和接收多個(gè)POJO參數(shù) 61
3.2.6 利用@Param注解傳遞多個(gè)POJO類型參數(shù) 63
3.2.7 傳遞和接收Map類型參數(shù) 64
3.2.8 傳遞和接收List類型參數(shù) 66
3.2.9 傳遞和接收數(shù)組類型參數(shù) 67
3.3 實(shí)用小技能 68
3.3.1 獲取自增的主鍵值 68
3.3.2 傳遞表名 72
3.3.3 批量刪除 73
3.4 小結(jié) 75
第4章 MyBatis關(guān)聯(lián)映射 76
4.1 resultType與自動(dòng)映射 76
4.1.1 利用字段別名實(shí)現(xiàn)自動(dòng)映射 78
4.1.2 利用全局配置實(shí)現(xiàn)自動(dòng)映射 79
4.2 自定義結(jié)果映射resultMap 81
4.3 一對(duì)一查詢 83
4.3.1 案例開發(fā)準(zhǔn)備 83
4.3.2 方式一 84
4.3.3 方式二 86
4.3.4 方式三 88
4.3.5 MyBatis延遲加載 90
4.4 多對(duì)一查詢 91
4.4.1 案例開發(fā)準(zhǔn)備 92
4.4.2 方式一 93
4.4.3 方式二 95
4.4.4 方式三 97
4.5 一對(duì)多查詢 98
4.5.1 案例開發(fā)準(zhǔn)備 98
4.5.2 方式一 100
4.5.3 方式二 101
4.6 多對(duì)多查詢 104
4.6.1 案例開發(fā)準(zhǔn)備 104
4.6.2 方式一 106
4.6.3 方式二 108
4.7 小結(jié) 110
第5章 MyBatis動(dòng)態(tài)SQL 111
5.1 案例開發(fā)準(zhǔn)備 111
5.2 常用標(biāo)簽詳解與應(yīng)用 112
5.2.1 113
5.2.2 114
5.2.3 、、 116
5.2.4 118
5.2.5 120
5.2.6 122
5.2.7 123
5.2.8 128
5.2.9 128
5.3 小結(jié) 130
第6章 MyBatis緩存機(jī)制 131
6.1 一級(jí)緩存 131
6.1.1 一級(jí)緩存應(yīng)用實(shí)踐 132
6.1.2 一級(jí)緩存失效情形 135
6.1.3 一級(jí)緩存失效案例 135
6.2 二級(jí)緩存 137
6.2.1 二級(jí)緩存使用方式 138
6.2.2 二級(jí)緩存應(yīng)用實(shí)踐 138
6.2.3 二級(jí)緩存屬性詳解 141
6.2.4 二級(jí)緩存回收策略 141
6.2.5 二級(jí)緩存失效情形 142
6.2.6 二級(jí)緩存失效案例 142
6.3 第三方緩存 143
6.3.1 導(dǎo)入依賴 144
6.3.2 編寫配置文件ehcache.xml 144
6.3.3 設(shè)置二級(jí)緩存類型 145
6.3.4 編寫日志文件logback.xml 146
6.3.5 接口文件 146
6.3.6 映射文件 146
6.3.7 測(cè)試代碼 147
6.3.8 測(cè)試結(jié)果 148
6.4 小結(jié) 148
第7章 MyBatis注解開發(fā) 149
7.1 常用注解概述 149
7.2 基于注解的增刪改查 149
7.2.1 案例開發(fā)準(zhǔn)備 150
7.2.2 接口文件 150
7.2.3 測(cè)試代碼 150
7.3 基于注解的關(guān)聯(lián)映射 152
7.3.1 案例開發(fā)準(zhǔn)備 152
7.3.2 一對(duì)一查詢 153
7.3.3 多對(duì)一查詢 153
7.3.4 一對(duì)多查詢 154
7.3.5 多對(duì)多查詢 154
7.4 小結(jié) 155
第8章 MyBatis分頁(yè)插件 156
8.1 分頁(yè)基本原理 156
8.2 PageHelper的核心API 156
8.2.1 開啟分頁(yè)查詢 156
8.2.2 PageInfo的構(gòu)造函數(shù) 157
8.2.3 PageInfo的主要屬性 157
8.3 PageHelper的使用方法 157
8.4 PageHelper案例詳解 158
8.4.1 案例開發(fā)準(zhǔn)備 158
8.4.2 接口文件 160
8.4.3 映射文件 160
8.4.4 測(cè)試代碼 160
8.4.5 測(cè)試結(jié)果 162
8.5 PageInfo源碼剖析 163
8.6 小結(jié) 164
第9章 MyBatis逆向工程 165
9.1 MBG入門案例 165
9.1.1 案例開發(fā)準(zhǔn)備 165
9.1.2 創(chuàng)建Module 167
9.1.3 編寫MBG配置文件 169
9.1.4 執(zhí)行MBG插件 170
9.2 逆向工程代碼剖析 171
9.2.1 POJO 171
9.2.2 Example 173
9.2.3 接口文件 174
9.2.4 映射文件 174
9.3 MBG應(yīng)用詳解 174
9.3.1 依據(jù)主鍵查詢數(shù)據(jù) 175
9.3.2 查詢所有數(shù)據(jù) 176
9.3.3 依據(jù)條件查詢數(shù)據(jù) 177
9.3.4 統(tǒng)計(jì)滿足條件的記錄 178
9.3.5 依據(jù)主鍵id刪除數(shù)據(jù) 179
9.3.6 依據(jù)條件刪除數(shù)據(jù) 179
9.3.7 插入數(shù)據(jù) 180
9.3.8 選擇性插入數(shù)據(jù) 181
9.3.9 依據(jù)主鍵更新數(shù)據(jù) 182
9.3.10 依據(jù)主鍵選擇性更新數(shù)據(jù) 183
9.3.11 依據(jù)條件更新數(shù)據(jù) 184
9.3.12 依據(jù)條件選擇性更新數(shù)據(jù) 185
9.4 小結(jié) 186
第 10章 MyBatis-Plus開發(fā)入門 187
10.1 MyBatis-Plus入門案例 188
10.1.1 案例開發(fā)準(zhǔn)備 188
10.1.2 創(chuàng)建工程 189
10.1.3 添加依賴 191
10.1.4 編寫配置 191
10.1.5 編寫POJO 191
10.1.6 創(chuàng)建接口文件 192
10.1.7 完善入口類 192
10.1.8 編寫測(cè)試代碼 192
10.1.9 入門案例總結(jié) 193
10.2 主鍵雪花算法 193
10.3 BaseMapper詳解 194
10.3.1 查詢操作 197
10.3.2 更新操作 200
10.3.3 插入操作 201
10.3.4 刪除操作 203
10.4 條件構(gòu)造器詳解 206
10.4.1 比較 206
10.4.2 范圍 206
10.4.3 模糊匹配 207
10.4.4 空值判斷 207
10.4.5 分組與排序 207
10.4.6 拼接與嵌套 208
10.4.7 條件組拼判斷 208
10.5 條件構(gòu)造器案例 209
10.5.1 案例開發(fā)準(zhǔn)備 209
10.5.2 QueryWrapper示例 209
10.5.3 UpdateWrapper示例 217
10.5.4 LambdaQueryWrapper示例 219
10.5.5 LambdaUpdateWrapper示例 220
10.6 MyBatis-Plus自定義操作 221
10.6.1 編寫接口文件 221
10.6.2 編寫映射文件 221
10.6.3 編寫測(cè)試代碼 222
10.6.4 小結(jié) 222
10.7 IService概要 222
10.8 IService使用案例 223
10.8.1 案例開發(fā)準(zhǔn)備 223
10.8.2 編寫UserService接口 223
10.8.3 編寫UserService實(shí)現(xiàn)類 224
10.8.4 插入操作 224
10.8.5 更新操作 226
10.8.6 查詢操作 228
10.8.7 刪除操作 232
10.8.8 統(tǒng)計(jì)操作 234
10.9 小結(jié) 234
第 11章 MyBatis-Plus注解開發(fā) 235
11.1 常用注解概述 235
11.2 注解應(yīng)用案例 237
11.2.1 案例開發(fā)準(zhǔn)備 237
11.2.2 編寫枚舉類 238
11.2.3 編寫POJO 239
11.2.4 編寫接口文件 239
11.2.5 編寫測(cè)試程序 239
11.3 小結(jié) 243
第 12章 MyBatis-Plus代碼生成器 244
12.1 代碼生成器應(yīng)用案例 244
12.1.1 案例開發(fā)準(zhǔn)備 244
12.1.2 創(chuàng)建工程 245
12.1.3 添加依賴 245
12.1.4 編寫配置文件 246
12.1.5 運(yùn)行代碼生成器 247
12.1.6 完善入口類 248
12.1.7 測(cè)試自動(dòng)生成代碼 249
12.2 自動(dòng)生成代碼剖析 250
12.2.1 Doctor實(shí)體類 250
12.2.2 DoctorMapper.java接口文件 252
12.2.3 DoctorMapper.xml映射文件 253
12.2.4 IDoctorService接口 253
12.2.5 IDoctorService接口實(shí)現(xiàn)類 253
12.2.6 DoctorController控制器 254
12.3 小結(jié) 254
第 13章 MyBatis-Plus多數(shù)據(jù)源 255
13.1 多數(shù)據(jù)源策略 255
13.2 多數(shù)據(jù)源應(yīng)用案例 256
13.2.1 案例開發(fā)準(zhǔn)備 256
13.2.2 創(chuàng)建工程 259
13.2.3 添加依賴 259
13.2.4 編寫配置文件 260
13.2.5 編寫POJO 261
13.2.6 編寫接口文件 262
13.2.7 編寫Service接口 262
13.2.8 編寫Service接口實(shí)現(xiàn)類 263
13.2.9 完善入口類 263
13.2.10 編寫測(cè)試代碼 264
13.3 小結(jié) 266
第 14章 MyBatis-Plus插件技術(shù) 267
14.1 分頁(yè)插件 267
14.1.1 案例開發(fā)準(zhǔn)備 267
14.1.2 新建工程 268
14.1.3 添加依賴 269
14.1.4 編寫配置文件 269
14.1.5 編寫POJO 270
14.1.6 編寫接口文件 270
14.1.7 編寫Service接口 270
14.1.8 編寫Service接口實(shí)現(xiàn)類 271
14.1.9 配置分頁(yè)插件 271
14.1.10 完善入口類 271
14.1.11 編寫測(cè)試代碼 272
14.1.12 自定義分頁(yè)查詢 273
14.2 樂(lè)觀鎖插件 275
14.2.1 添加@Version注解 275
14.2.2 配置樂(lè)觀鎖插件 276
14.2.3 測(cè)試樂(lè)觀鎖插件 276
14.3 快速開發(fā)插件 280
14.3.1 安裝Lombok 281
14.3.2 安裝MyBatisX 282
14.3.3 MyBatisX使用案例 283
14.4 小結(jié) 293
第 15章 MyBatis項(xiàng)目開發(fā)實(shí)戰(zhàn) 294
15.1 項(xiàng)目概覽 294
15.1.1 功能介紹 294
15.1.2 核心技術(shù) 295
15.1.3 項(xiàng)目展示 295
15.2 項(xiàng)目搭建 304
15.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì) 304
15.2.2 創(chuàng)建項(xiàng)目 305
15.2.3 完善項(xiàng)目結(jié)構(gòu) 308
15.2.4 添加依賴 309
15.2.5 編寫配置文件 310
15.2.6 編寫登錄攔截器 311
15.2.7 編寫項(xiàng)目配置類 311
15.2.8 配置項(xiàng)目啟動(dòng)類 312
15.3 數(shù)據(jù)字典模塊開發(fā) 313
15.3.1 數(shù)據(jù)訪問(wèn)層 313
15.3.2 業(yè)務(wù)邏輯層 313
15.4 “員工管理”模塊開發(fā) 314
15.4.1 系統(tǒng)登錄 314
15.4.2 員工查詢 317
15.4.3 新增員工 320
15.4.4 刪除員工 323
15.4.5 修改員工 326
15.5 “客戶管理”模塊開發(fā) 329
15.5.1 客戶查詢 329
15.5.2 新增客戶 333
15.5.3 刪除客戶 337
15.5.4 修改客戶 340
15.6 “新聞分析”模塊開發(fā) 344
15.6.1 新聞查詢 344
15.6.2 新增新聞 347
15.6.3 刪除新聞 350
15.6.4 修改新聞 353
15.6.5 查看新聞 356
15.7 “統(tǒng)計(jì)分析”模塊開發(fā) 357
15.7.1 數(shù)據(jù)訪問(wèn)層 357
15.7.2 業(yè)務(wù)邏輯層 358
15.7.3 請(qǐng)求處理層 358
15.7.4 前端頁(yè)面 359
15.8 小結(jié) 360