MyBatis核心技術全解與項目實戰
賴帆(@谷哥的小弟 )
買這商品的人也買了...
-
$2,100$1,995 -
$590$460 -
$403MyBatis 技術內幕
-
$580$452 -
$621Spring Boot 實戰派
-
$408$388 -
$954$906 -
$534$507 -
$594$564 -
$539$512 -
$414$393 -
$839$797 -
$332$315 -
$654$621 -
$774$735 -
$828$787 -
$505Vue.js 3 開發詳解
-
$534$507 -
$1,080$853 -
$474$450 -
$600$468 -
$556uni-app 多端跨平台開發從入門到企業級實戰-基於 Vue.js 3.0、 TypeScript 核心技術實現
-
$680$537 -
$479$455 -
$654$621
相關主題
商品描述
在現在的Java企業級應用中,常見的組合是Spring+Spring MVC+MyBatis(SSM)。MyBatis作為Java後台開發的核心主流框架之一,性能優異、使用者眾多,讀者基礎較廣。本書是一本詳細介紹MyBatis框架使用指南的書,一切從實際項目出發,主要內容包括MyBatis開發環境、基本操作、運行原理、關聯映射、動態SQL、緩存機制、註解開發、插件技術、逆向工程以及國內流行的MyBatis-Plus,最後一章結合Spring Boot技術詳細介紹了MyBatis在項目實戰中的應用。
本書適合Java程序員閱讀。
作者簡介
赖帆(@谷哥的小弟),CSDN技术博主,十余年一线开发经验。历任研发工程师、技术组长、高级开发工程师、技术经理、技术部门主管等职位。曾任职于上市集团研发中心,精通Java、C/C++、Python、SQL、JavaScript、Go等主流开发语言。擅长互联网应用开发与实践,热衷于开源技术,对Spring Boot、Spring Cloud、Vue、Flutter等热门技术有着深入的研究。
长期以来,作者坚持在CSDN输出优质技术博客。曾于2016年、2020年两度荣获CSDN年度十大博客之星。截至2023年年底,共创作1400多篇优质博文,博客访问量累计达370万。
目錄大綱
第 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 開發環境的搭建 4
1.2.1 基礎環境檢查 4
1.2.2 創建項目 4
1.2.3 配置Maven 6
1.3 入門案例開發詳解 7
1.3.1 案例開發準備 7
1.3.2 創建Module 8
1.3.3 Module的結構 10
1.3.4 設置打包方式 10
1.3.5 添加依賴 11
1.3.6 添加日誌配置文件 12
1.3.7 創建實體類 12
1.3.8 創建接口文件 13
1.3.9 創建映射文件 13
1.3.10 編寫全局配置文件 14
1.3.11 編寫測試代碼 15
1.3.12 入門案例總結 17
1.4 核心基礎 17
1.4.1 MyBatis獲取參數的兩種方式 17
1.4.2 增刪改查標簽 18
1.4.3 增刪改查案例實踐 19
1.4.4 SqlSession工具類 27
1.4.5 增刪改查案例優化 28
1.5 小結 32
第 2章 MyBatis運行原理剖析 33
2.1 MyBatis全局配置文件 33
2.1.1
2.1.2
2.1.3
2.1.4
2.1.5
2.1.6
2.1.7
2.1.8
2.1.9
2.2 MyBatis關鍵API 41
2.2.1 SqlSessionFactoryBuilder 42
2.2.2 SqlSessionFactory 42
2.2.3 SqlSession 43
2.3 MyBatis運行原理 45
2.4 小結 46
第3章 MyBatis開發技能進階 47
3.1 查詢操作詳解 47
3.1.1 查詢單行數據,返回單個對象 47
3.1.2 查詢多行數據,返回List集合 49
3.1.3 統計記錄條數 50
3.1.4 查詢單行數據,返回Map集合 51
3.1.5 查詢多行數據,返回Map集合 53
3.1.6 模糊查詢 54
3.2 參數傳遞與接收 55
3.2.1 傳遞和接收單個普通類型參數 56
3.2.2 傳遞和接收多個普通類型參數 57
3.2.3 利用@Param註解傳遞多個普通類型參數 58
3.2.4 傳遞和接收單個POJO參數 60
3.2.5 傳遞和接收多個POJO參數 61
3.2.6 利用@Param註解傳遞多個POJO類型參數 63
3.2.7 傳遞和接收Map類型參數 64
3.2.8 傳遞和接收List類型參數 66
3.2.9 傳遞和接收數組類型參數 67
3.3 實用小技能 68
3.3.1 獲取自增的主鍵值 68
3.3.2 傳遞表名 72
3.3.3 批量刪除 73
3.4 小結 75
第4章 MyBatis關聯映射 76
4.1 resultType與自動映射 76
4.1.1 利用字段別名實現自動映射 78
4.1.2 利用全局配置實現自動映射 79
4.2 自定義結果映射resultMap 81
4.3 一對一查詢 83
4.3.1 案例開發準備 83
4.3.2 方式一 84
4.3.3 方式二 86
4.3.4 方式三 88
4.3.5 MyBatis延遲加載 90
4.4 多對一查詢 91
4.4.1 案例開發準備 92
4.4.2 方式一 93
4.4.3 方式二 95
4.4.4 方式三 97
4.5 一對多查詢 98
4.5.1 案例開發準備 98
4.5.2 方式一 100
4.5.3 方式二 101
4.6 多對多查詢 104
4.6.1 案例開發準備 104
4.6.2 方式一 106
4.6.3 方式二 108
4.7 小結 110
第5章 MyBatis動態SQL 111
5.1 案例開發準備 111
5.2 常用標簽詳解與應用 112
5.2.1
5.2.2
5.2.3
5.2.4
5.2.5
5.2.6
5.2.7
5.2.8
5.2.9
5.3 小結 130
第6章 MyBatis緩存機制 131
6.1 一級緩存 131
6.1.1 一級緩存應用實踐 132
6.1.2 一級緩存失效情形 135
6.1.3 一級緩存失效案例 135
6.2 二級緩存 137
6.2.1 二級緩存使用方式 138
6.2.2 二級緩存應用實踐 138
6.2.3 二級緩存屬性詳解 141
6.2.4 二級緩存回收策略 141
6.2.5 二級緩存失效情形 142
6.2.6 二級緩存失效案例 142
6.3 第三方緩存 143
6.3.1 導入依賴 144
6.3.2 編寫配置文件ehcache.xml 144
6.3.3 設置二級緩存類型 145
6.3.4 編寫日誌文件logback.xml 146
6.3.5 接口文件 146
6.3.6 映射文件 146
6.3.7 測試代碼 147
6.3.8 測試結果 148
6.4 小結 148
第7章 MyBatis註解開發 149
7.1 常用註解概述 149
7.2 基於註解的增刪改查 149
7.2.1 案例開發準備 150
7.2.2 接口文件 150
7.2.3 測試代碼 150
7.3 基於註解的關聯映射 152
7.3.1 案例開發準備 152
7.3.2 一對一查詢 153
7.3.3 多對一查詢 153
7.3.4 一對多查詢 154
7.3.5 多對多查詢 154
7.4 小結 155
第8章 MyBatis分頁插件 156
8.1 分頁基本原理 156
8.2 PageHelper的核心API 156
8.2.1 開啟分頁查詢 156
8.2.2 PageInfo的構造函數 157
8.2.3 PageInfo的主要屬性 157
8.3 PageHelper的使用方法 157
8.4 PageHelper案例詳解 158
8.4.1 案例開發準備 158
8.4.2 接口文件 160
8.4.3 映射文件 160
8.4.4 測試代碼 160
8.4.5 測試結果 162
8.5 PageInfo源碼剖析 163
8.6 小結 164
第9章 MyBatis逆向工程 165
9.1 MBG入門案例 165
9.1.1 案例開發準備 165
9.1.2 創建Module 167
9.1.3 編寫MBG配置文件 169
9.1.4 執行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應用詳解 174
9.3.1 依據主鍵查詢數據 175
9.3.2 查詢所有數據 176
9.3.3 依據條件查詢數據 177
9.3.4 統計滿足條件的記錄 178
9.3.5 依據主鍵id刪除數據 179
9.3.6 依據條件刪除數據 179
9.3.7 插入數據 180
9.3.8 選擇性插入數據 181
9.3.9 依據主鍵更新數據 182
9.3.10 依據主鍵選擇性更新數據 183
9.3.11 依據條件更新數據 184
9.3.12 依據條件選擇性更新數據 185
9.4 小結 186
第 10章 MyBatis-Plus開發入門 187
10.1 MyBatis-Plus入門案例 188
10.1.1 案例開發準備 188
10.1.2 創建工程 189
10.1.3 添加依賴 191
10.1.4 編寫配置 191
10.1.5 編寫POJO 191
10.1.6 創建接口文件 192
10.1.7 完善入口類 192
10.1.8 編寫測試代碼 192
10.1.9 入門案例總結 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 條件構造器詳解 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 條件構造器案例 209
10.5.1 案例開發準備 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 編寫測試代碼 222
10.6.4 小結 222
10.7 IService概要 222
10.8 IService使用案例 223
10.8.1 案例開發準備 223
10.8.2 編寫UserService接口 223
10.8.3 編寫UserService實現類 224
10.8.4 插入操作 224
10.8.5 更新操作 226
10.8.6 查詢操作 228
10.8.7 刪除操作 232
10.8.8 統計操作 234
10.9 小結 234
第 11章 MyBatis-Plus註解開發 235
11.1 常用註解概述 235
11.2 註解應用案例 237
11.2.1 案例開發準備 237
11.2.2 編寫枚舉類 238
11.2.3 編寫POJO 239
11.2.4 編寫接口文件 239
11.2.5 編寫測試程序 239
11.3 小結 243
第 12章 MyBatis-Plus代碼生成器 244
12.1 代碼生成器應用案例 244
12.1.1 案例開發準備 244
12.1.2 創建工程 245
12.1.3 添加依賴 245
12.1.4 編寫配置文件 246
12.1.5 運行代碼生成器 247
12.1.6 完善入口類 248
12.1.7 測試自動生成代碼 249
12.2 自動生成代碼剖析 250
12.2.1 Doctor實體類 250
12.2.2 DoctorMapper.java接口文件 252
12.2.3 DoctorMapper.xml映射文件 253
12.2.4 IDoctorService接口 253
12.2.5 IDoctorService接口實現類 253
12.2.6 DoctorController控制器 254
12.3 小結 254
第 13章 MyBatis-Plus多數據源 255
13.1 多數據源策略 255
13.2 多數據源應用案例 256
13.2.1 案例開發準備 256
13.2.2 創建工程 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接口實現類 263
13.2.9 完善入口類 263
13.2.10 編寫測試代碼 264
13.3 小結 266
第 14章 MyBatis-Plus插件技術 267
14.1 分頁插件 267
14.1.1 案例開發準備 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接口實現類 271
14.1.9 配置分頁插件 271
14.1.10 完善入口類 271
14.1.11 編寫測試代碼 272
14.1.12 自定義分頁查詢 273
14.2 樂觀鎖插件 275
14.2.1 添加@Version註解 275
14.2.2 配置樂觀鎖插件 276
14.2.3 測試樂觀鎖插件 276
14.3 快速開發插件 280
14.3.1 安裝Lombok 281
14.3.2 安裝MyBatisX 282
14.3.3 MyBatisX使用案例 283
14.4 小結 293
第 15章 MyBatis項目開發實戰 294
15.1 項目概覽 294
15.1.1 功能介紹 294
15.1.2 核心技術 295
15.1.3 項目展示 295
15.2 項目搭建 304
15.2.1 數據庫設計 304
15.2.2 創建項目 305
15.2.3 完善項目結構 308
15.2.4 添加依賴 309
15.2.5 編寫配置文件 310
15.2.6 編寫登錄攔截器 311
15.2.7 編寫項目配置類 311
15.2.8 配置項目啟動類 312
15.3 數據字典模塊開發 313
15.3.1 數據訪問層 313
15.3.2 業務邏輯層 313
15.4 “員工管理”模塊開發 314
15.4.1 系統登錄 314
15.4.2 員工查詢 317
15.4.3 新增員工 320
15.4.4 刪除員工 323
15.4.5 修改員工 326
15.5 “客戶管理”模塊開發 329
15.5.1 客戶查詢 329
15.5.2 新增客戶 333
15.5.3 刪除客戶 337
15.5.4 修改客戶 340
15.6 “新聞分析”模塊開發 344
15.6.1 新聞查詢 344
15.6.2 新增新聞 347
15.6.3 刪除新聞 350
15.6.4 修改新聞 353
15.6.5 查看新聞 356
15.7 “統計分析”模塊開發 357
15.7.1 數據訪問層 357
15.7.2 業務邏輯層 358
15.7.3 請求處理層 358
15.7.4 前端頁面 359
15.8 小結 360