-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

MyBatis從入門到精通

( 簡體 字)
作者:劉增輝類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社MyBatis從入門到精通 3dWoo書號: 46987
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:6/1/2017
頁數:312
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121317972
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

自2013年起,我開始帶領團隊開發項目,公司此前使用的是一套深度集成的Spring、Struts和Hibernate框架,這套重量級框架顯然已經不適合用在全新的項目中。當時使用的Hibernate還是較早的版本,在項目的業務層需要拼接大量的SQL和HQL才能進行數據庫操作。綜合多方面因素,我決定選擇其他持久化框架進行項目開發。因為MyBatis SQL和代碼分離的方式以及動態SQL的強大功能,加之其在對查詢結果進行映射處理等方面具有顯著優點,因此,我與MyBatis開始結緣。
為了提高查詢效率,通常會采用物理分頁,然而MyBatis只能支持內存分頁。若想讓MyBatis支持物理分頁,只能通過基于攔截器的插件來實現。當時,已有的MyBatis分頁插件都不適用于公司已經開發了大半的項目,因此我有了自己寫一個分頁插件的想法。完成后的分頁插件(PageHelper)能很方便地實現對MyBatis查詢方法的分頁。后來,我在CSDN和開源中國的博客中分享了代碼,并且詳細說明了實現原理。在后續更新插件的一篇博客評論中,紅薯(開源中國創始人)說:“應該把代碼放到git.oschina.net中,放網盤很不專業哦!”因為這句話,我便踏入了開源的世界。
由于PageHelper分頁插件有越來越多人使用,因而有很多網友通過留言、私信、郵件等方式和我討論MyBatis的相關問題。為了解決網友的問題以及完善分頁插件的功能,我深入學習了MyBatis的源碼,通過不斷的學習,不僅從深層次了解了各種問題的產生原因,對MyBatis的理解也逐漸加深。2014年11月,我利用閑暇時間又開發了一個新的開源項目:MyBatis通用Mapper,它實現了MyBatis單表增、刪、改、查的基本方法,能夠幫助開發人員節省大量時間。
這幾年來,我一直在博客上面和大家分享MyBatis的相關內容,在這期間和網友交流解決的問題有很多是重復的,也有很多都是基礎的。現在已有的MyBatis學習途徑提供給大家的知識,有一些比較深奧不適合初學者,有一些比較基礎卻不全面。為了讓讀者比較容易地全面掌握MyBatis的相關知識,這本書得以誕生,本書將通過全面完整的大量示例,讓讀者輕松且全面地掌握MyBatis。
內容簡介:

本書中從一個簡單的MyBatis查詢入手,搭建起學習MyBatis的基礎開發環境。通過全面的示例代碼和測試講解了在MyBatis XML方式和注解方式中進行增、刪、改、查操作的基本用法,介紹了動態SQL在不同方面的應用以及在使用過程中的最佳實踐方案。針對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
序: