MyBatis從入門到精通

MyBatis從入門到精通

《MyBatis從入門到精通》 一書作者劉增輝,電子工業出版社2017年7月出版

內容提要

《MyBatis從入門到精通》中從一個簡單的MyBatis查詢入手,搭建起學習MyBatis的基礎開發環境。通過全面的示例代碼和測試講解了在MyBatis XML方式和註解方式中進行增、刪、改、查操作的基本用法,介紹了動態SQL在不同方面的套用以及在使用過程中的最佳實踐方案。針對MyBatis高級映射、存儲過程和類型處理器提供了豐富的示例,通過自下而上的方法使讀者更好地理解和掌握MyBatis的高級用法,同時針對MyBatis的代碼生成器提供了詳細的配置介紹。此外,《MyBatis從入門到精通》還提供了快取配置、外掛程式開發、Spring、Spring Boot集成的詳細內容。最後通過介紹Git和GitHub讓讀者了解MyBatis開源項目,通過對MyBatis源碼和測試用例的講解讓讀者更好掌握MyBatis。

目錄

第1章 MyBatis入門 1

1.1 MyBatis簡介 2

1.2 創建Maven項目 3

1.3 簡單配置讓MyBatis跑起來 7

1.3.1 準備資料庫 8

1.3.2 配置MyBatis 8

1.3.3 創建實體類和Mapper.xml檔案 10

1.3.4 配置Log4j以便查看MyBatis運算元據庫的過程 11

1.3.5 編寫測試代碼讓MyBatis跑起來 12

1.4 本章小結 14

第2章 MyBatis XML方式的基本用法 15

2.1 一個簡單的許可權控制需求 16

2.1.1 創建資料庫表 16

2.1.2 創建實體類 19

2.2 使用XML方式 21

2.3 select用法 23

2.4 insert用法 35

2.4.1 簡單的insert方法 35

2.4.2 使用JDBC方式返回主鍵自增的值 38

2.4.3 使用selectKey返回主鍵的值 40

2.5 update用法 42

2.6 delete用法 45

2.7 多個接口參數的用法 47

2.8 Mapper接口動態代理實現原理 50

2.9 本章小結 51

第3章 MyBatis註解方式的基本用法 53

3.1 @Select註解 54

3.1.1 使用mapUnderscoreToCamelCase配置 55

3.1.2 使用resultMap方式 55

3.2 @Insert註解 58

3.2.1 不需要返回主鍵 58

3.2.2 返回自增主鍵 58

3.2.3 返回非自增主鍵 59

3.3 @Update註解和@Delete註解 59

3.4 Provider註解 60

3.5 本章小結 61

第4章 MyBatis動態SQL 63

4.1 if用法 64

4.1.1 在WHERE條件中使用if 64

4.1.2 在UPDATE更新列中使用if 68

4.1.3 在INSERT動態插入列中使用if 70

4.2 choose用法 72

4.3 where、set、trim用法 75

4.3.1 where用法 75

4.3.2 set用法 76

4.3.3 trim用法 77

4.4 foreach用法 78

4.4.1 foreach實現in集合 78

4.4.2 foreach實現批量插入 81

4.4.3 foreach實現動態UPDATE 84

4.5 bind用法 86

4.6 多資料庫支持 86

4.7 OGNL用法 89

4.8 本章小結 90

第5章 Mybatis代碼生成器 91

5.1 XML配置詳解 92

5.1.1 property標籤 95

5.1.2 plugin標籤 96

5.1.3 commentGenerator標籤 97

5.1.4 jdbcConnection標籤 99

5.1.5 javaTypeResolver標籤 100

5.1.6 javaModelGenerator標籤 101

5.1.7 sqlMapGenerator標籤 102

5.1.8 javaClientGenerator標籤 103

5.1.9 table標籤 104

5.2 一個配置參考示例 109

5.3 運行MyBatis Generator 111

5.3.1 使用Java編寫代碼運行 111

5.3.2 從命令提示符運行 113

5.3.3 使用Maven Plugin運行 115

5.3.4 使用Eclipse外掛程式運行 117

5.4 Example介紹 119

5.5 本章小結 124

第6章 MyBatis高級查詢 125

6.1 高級結果映射 126

6.1.1 一對一映射 126

6.1.2 一對多映射 140

6.1.3 鑑別器映射 156

6.2 存儲過程 159

6.2.1 第一個存儲過程 162

6.2.2 第二個存儲過程 164

6.2.3 第三個和第四個存儲過程 166

6.2.4 在Oracle中使用游標參數的存儲過程 168

6.3 使用枚舉或其他對象 170

6.3.1 使用MyBatis提供的枚舉處理器 170

6.3.2 使用自定義的類型處理器 172

6.3.3 對Java 8日期(JSR-310)的支持 175

6.4 本章小結 176

第7章 MyBatis快取配置 177

7.1 一級快取 178

7.2 二級快取 181

7.2.1 配置二級快取 181

7.2.2 使用二級快取 184

7.3 集成EhCache快取 187

7.4 集成Redis快取 190

7.5 髒數據的產生和避免 191

7.6 二級快取適用場景 194

7.7 本章小結 194

第8章 MyBatis外掛程式開發 195

8.1 攔截器接口介紹 196

8.2 攔截器簽名介紹 198

8.2.1 Executor接口 198

8.2.2 ParameterHandler接口 200

8.2.3 ResultSetHandler接口 201

8.2.4 StatementHandler接口 202

8.3 下畫線鍵值轉小寫駝峰形式外掛程式 203

8.4 分頁外掛程式 206

8.4.1 PageInterceptor攔截器類 207

8.4.2 Dialect接口 212

8.4.3 MySqlDialect實現 216

8.5 本章小結 220

第9章 Spring集成MyBatis 221

9.1 創建基本的Maven Web項目 222

9.2 集成Spring和Spring MVC 227

9.3 集成MyBatis 232

9.4 幾個簡單實例 234

9.4.1 基本準備 235

9.4.2 開發Mapper層(Dao層) 235

9.4.3 開發業務層(Service層) 238

9.4.4 開發控制層(Controller層) 240

9.4.5 開發視圖層(View層) 242

9.4.6 部署和運行套用 245

9.5 本章小結 246

第10章 Spring Boot集成MyBatis 247

10.1 基本的Spring Boot項目 248

10.2 集成MyBatis 251

10.3 MyBatis Starter配置介紹 253

10.4 簡單示例 255

10.4.1 引入simple依賴 255

10.4.2 開發業務(Service)層 258

10.4.3 開發控制(Controller)層 259

10.4.4 運行套用查看效果 259

10.5 本章小結 260

第11章 MyBatis開源項目 261

11.1 Git入門 262

11.1.1 初次運行配置 262

11.1.2 初始化和克隆倉庫 263

11.1.3 本地操作 265

11.1.4 遠程操作 267

11.2 GitHub入門 269

11.2.1 創建並提交到倉庫 269

11.2.2 Fork倉庫並克隆到本地 272

11.2.3 社交功能 275

11.3 MyBatis源碼講解 278

11.4 MyBatis測試用例 290

11.5 本章小結 293

附錄 類型處理器(TypeHandler) 295

相關詞條

相關搜尋

熱門詞條

聯絡我們