第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
· · · · · · (
收起)