關于我們
書單推薦
新書推薦
|
MyBatis核心技術全解與項目實戰(zhàn) 讀者對象:本書適合Java程序員閱讀。
本書主要內(nèi)容包括MyBatis開發(fā)環(huán)境、基本操作、運行原理、關聯(lián)映射、動態(tài)SQL、緩存機制、注解開發(fā)、插件技術、逆向工程以及國內(nèi)流行的MyBatis-Plus,最后一章結合Spring Boot技術詳細介紹了MyBatis在項目實戰(zhàn)中的應用。
1.實戰(zhàn)經(jīng)驗豐富的作者傾力之作:作者賴帆(@谷哥的小弟)擁有十余年一線開發(fā)經(jīng)驗,不僅在多個技術領域有著深厚的積累,還是CSDN年度十大博客之星,確保了本書內(nèi)容的專業(yè)性和實用性。
2.深入淺出講解MyBatis:不僅覆蓋了MyBatis的基礎操作和開發(fā)環(huán)境搭建,還深入探討了其運行原理、高級特性,以及注解開發(fā)和插件技術,為讀者提供了一個全面的MyBatis學習路徑。 3.結合新技術趨勢:介紹了MyBatis-Plus這一國內(nèi)流行的MyBatis增強工具,以及如何與當前熱門的Spring Boot技術結合,確保讀者能夠掌握新的技術動態(tài)和應用實踐。 4.項目實戰(zhàn)導向:本書以實際項目為出發(fā)點,通過Spring Boot項目實戰(zhàn)案例,幫助讀者將理論知識轉化為實際開發(fā)能力,提升解決實際問題的能力。 4.適合各層次Java開發(fā)者:對于初學者,它是進入MyBatis世界的敲門磚;對于有經(jīng)驗的開發(fā)者,它是提升技能和深化理解的良師益友。
賴帆(@谷哥的小弟),CSDN技術博主,十余年一線開發(fā)經(jīng)驗。歷任研發(fā)工程師、技術組長、高級開發(fā)工程師、技術經(jīng)理、技術部門主管等職位。曾任職于上市集團研發(fā)中心,精通Java、C/C++、Python、SQL、JavaScript、Go等主流開發(fā)語言。擅長互聯(lián)網(wǎng)應用開發(fā)與實踐,熱衷于開源技術,對Spring Boot、Spring Cloud、Vue、Flutter等熱門技術有著深入的研究。 長期以來,作者堅持在CSDN輸出優(yōu)質(zhì)技術博客。曾于2016年、2020年兩度榮獲CSDN年度十大博客之星。截至2023年年底,共創(chuàng)作1400多篇優(yōu)質(zhì)博文,博客訪問量累計達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 開發(fā)環(huán)境的搭建 4 1.2.1 基礎環(huán)境檢查 4 1.2.2 創(chuàng)建項目 4 1.2.3 配置Maven 6 1.3 入門案例開發(fā)詳解 7 1.3.1 案例開發(fā)準備 7 1.3.2 創(chuàng)建Module 8 1.3.3 Module的結構 10 1.3.4 設置打包方式 10 1.3.5 添加依賴 11 1.3.6 添加日志配置文件 12 1.3.7 創(chuàng)建實體類 12 1.3.8 創(chuàng)建接口文件 13 1.3.9 創(chuàng)建映射文件 13 1.3.10 編寫全局配置文件 14 1.3.11 編寫測試代碼 15 1.3.12 入門案例總結 17 1.4 核心基礎 17 1.4.1 MyBatis獲取參數(shù)的兩種方式 17 1.4.2 增刪改查標簽 18 1.4.3 增刪改查案例實踐 19 1.4.4 SqlSession工具類 27 1.4.5 增刪改查案例優(yōu)化 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開發(fā)技能進階 47 3.1 查詢操作詳解 47 3.1.1 查詢單行數(shù)據(jù),返回單個對象 47 3.1.2 查詢多行數(shù)據(jù),返回List集合 49 3.1.3 統(tǒng)計記錄條數(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 傳遞和接收單個普通類型參數(shù) 56 3.2.2 傳遞和接收多個普通類型參數(shù) 57 3.2.3 利用@Param注解傳遞多個普通類型參數(shù) 58 3.2.4 傳遞和接收單個POJO參數(shù) 60 3.2.5 傳遞和接收多個POJO參數(shù) 61 3.2.6 利用@Param注解傳遞多個POJO類型參數(shù) 63 3.2.7 傳遞和接收Map類型參數(shù) 64 3.2.8 傳遞和接收List類型參數(shù) 66 3.2.9 傳遞和接收數(shù)組類型參數(shù) 67 3.3 實用小技能 68 3.3.1 獲取自增的主鍵值 68 3.3.2 傳遞表名 72 3.3.3 批量刪除 73 3.4 小結 75 第4章 MyBatis關聯(lián)映射 76 4.1 resultType與自動映射 76 4.1.1 利用字段別名實現(xiàn)自動映射 78 4.1.2 利用全局配置實現(xiàn)自動映射 79 4.2 自定義結果映射resultMap 81 4.3 一對一查詢 83 4.3.1 案例開發(fā)準備 83 4.3.2 方式一 84 4.3.3 方式二 86 4.3.4 方式三 88 4.3.5 MyBatis延遲加載 90 4.4 多對一查詢 91 4.4.1 案例開發(fā)準備 92 4.4.2 方式一 93 4.4.3 方式二 95 4.4.4 方式三 97 4.5 一對多查詢 98 4.5.1 案例開發(fā)準備 98 4.5.2 方式一 100 4.5.3 方式二 101 4.6 多對多查詢 104 4.6.1 案例開發(fā)準備 104 4.6.2 方式一 106 4.6.3 方式二 108 4.7 小結 110 第5章 MyBatis動態(tài)SQL 111 5.1 案例開發(fā)準備 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注解開發(fā) 149 7.1 常用注解概述 149 7.2 基于注解的增刪改查 149 7.2.1 案例開發(fā)準備 150 7.2.2 接口文件 150 7.2.3 測試代碼 150 7.3 基于注解的關聯(lián)映射 152 7.3.1 案例開發(fā)準備 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的構造函數(shù) 157 8.2.3 PageInfo的主要屬性 157 8.3 PageHelper的使用方法 157 8.4 PageHelper案例詳解 158 8.4.1 案例開發(fā)準備 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 案例開發(fā)準備 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應用詳解 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)計滿足條件的記錄 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 小結 186 第 10章 MyBatis-Plus開發(fā)入門 187 10.1 MyBatis-Plus入門案例 188 10.1.1 案例開發(fā)準備 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 編寫測試代碼 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 案例開發(fā)準備 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 案例開發(fā)準備 223 10.8.2 編寫UserService接口 223 10.8.3 編寫UserService實現(xiàn)類 224 10.8.4 插入操作 224 10.8.5 更新操作 226 10.8.6 查詢操作 228 10.8.7 刪除操作 232 10.8.8 統(tǒng)計操作 234 10.9 小結 234 第 11章 MyBatis-Plus注解開發(fā) 235 11.1 常用注解概述 235 11.2 注解應用案例 237 11.2.1 案例開發(fā)準備 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 案例開發(fā)準備 244 12.1.2 創(chuàng)建工程 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接口實現(xiàn)類 253 12.2.6 DoctorController控制器 254 12.3 小結 254 第 13章 MyBatis-Plus多數(shù)據(jù)源 255 13.1 多數(shù)據(jù)源策略 255 13.2 多數(shù)據(jù)源應用案例 256 13.2.1 案例開發(fā)準備 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接口實現(xiàn)類 263 13.2.9 完善入口類 263 13.2.10 編寫測試代碼 264 13.3 小結 266 第 14章 MyBatis-Plus插件技術 267 14.1 分頁插件 267 14.1.1 案例開發(fā)準備 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接口實現(xiàn)類 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 快速開發(fā)插件 280 14.3.1 安裝Lombok 281 14.3.2 安裝MyBatisX 282 14.3.3 MyBatisX使用案例 283 14.4 小結 293 第 15章 MyBatis項目開發(fā)實戰(zhàn) 294 15.1 項目概覽 294 15.1.1 功能介紹 294 15.1.2 核心技術 295 15.1.3 項目展示 295 15.2 項目搭建 304 15.2.1 數(shù)據(jù)庫設計 304 15.2.2 創(chuàng)建項目 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 數(shù)據(jù)字典模塊開發(fā) 313 15.3.1 數(shù)據(jù)訪問層 313 15.3.2 業(yè)務邏輯層 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)計分析”模塊開發(fā) 357 15.7.1 數(shù)據(jù)訪問層 357 15.7.2 業(yè)務邏輯層 358 15.7.3 請求處理層 358 15.7.4 前端頁面 359 15.8 小結 360
你還可能感興趣
我要評論
|