注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計JAVA及其相關iBATIS實戰(zhàn)

iBATIS實戰(zhàn)

iBATIS實戰(zhàn)

定 價:¥45.00

作 者: (加)Clinton Begin,Brandon Goodin,Larry Meadors
出版社: 人民郵電出版社
叢編項: 圖靈程序設計叢書·Java系列
標 簽: JAVA

ISBN: 9787115177100 出版時間: 2008-05-01 包裝: 平裝
開本: 16 頁數(shù): 269 字數(shù):  

內(nèi)容簡介

  本書是講述iBATIS框架的權威著作。書中既詳實地介紹了iBATIS的設計理念和基礎知識,也討論了動態(tài)SQL、高速緩存、DAD框架等高級主題,還講解了iBATIS在實際開發(fā)中的應用。書的最后給出了一個設計優(yōu)雅、層次清晰的示例程序JGameStore,該示例涵蓋全書的大部分知識點,可以作為iBATIS學習和Web開發(fā)的經(jīng)典案例,非常值得深入研究。本書既可為廣大的開發(fā)人員(不僅僅是Web應用程序開發(fā)人員)提供指導,也可為架構師的項目決策提供參考。項目經(jīng)理、數(shù)據(jù)庫管理員、質量保證員與測試員以及系統(tǒng)分析師也能從本書中受益。

作者簡介

暫缺《iBATIS實戰(zhàn)》作者簡介

圖書目錄

第一部分 介紹
第1章 iBATIS的理念 2
1.1  一個結合了所有優(yōu)秀思想的混合型解決方案 2
1.1.1  探索iBATIS的根源 3
1.1.2  理解iBATIS的優(yōu)勢 7
1.2  iBATIS適合應用在何處 10
1.2.1  業(yè)務對象模型 11
1.2.2  表現(xiàn)層 11
1.2.3  業(yè)務邏輯層 12
1.2.4  持久層 13
1.2.5  關系數(shù)據(jù)庫 15
1.3  使用不同類型的數(shù)據(jù)庫 17
1.3.1  應用程序數(shù)據(jù)庫 17
1.3.2  企業(yè)數(shù)據(jù)庫 18
1.3.3  私有數(shù)據(jù)庫 19
1.3.4  遺留數(shù)據(jù)庫 20
1.4  iBATIS如何解決數(shù)據(jù)庫的常見問題 20
1.4.1  所有權與控制 20
1.4.2  被多個分散的系統(tǒng)訪問 21
1.4.3  復雜的鍵和關系 21
1.4.4  數(shù)據(jù)模型的去規(guī)范化或過度規(guī)范化 22
1.4.5  瘦數(shù)據(jù)模型 23
1.5  小結 24
第2章 iBATIS是什么 26
2.1  映射SQL語句 27
2.2  iBATIS如何工作 29
2.2.1  iBATIS之于小型、簡單系統(tǒng) 30
2.2.2  iBATIS之于大型、企業(yè)級系統(tǒng) 31
2.3  為何使用iBATIS 31
2.3.1  簡單性 32
2.3.2  生產(chǎn)效率 32
2.3.3  性能 32
2.3.4  關注點分離 33
2.3.5  明確分工 33
2.3.6  可移植性:Java、.NET及其他 33
2.3.7  開源和誠實 33
2.4  何時不該使用iBATIS 34
2.4.1  當永遠擁有完全控制權時 34
2.4.2  當應用程序需要完全動態(tài)的SQL時 34
2.4.3  當沒有使用關系數(shù)據(jù)庫時 35
2.4.4  當iBATIS不起作用時 35
2.5  5分鐘內(nèi)用iBATIS創(chuàng)建應用程序 35
2.5.1  安裝數(shù)據(jù)庫 36
2.5.2  編寫代碼 36
2.5.3  配置iBATIS(預覽) 37
2.5.4  構建應用程序 38
2.5.5  運行應用程序 39
2.6  iBATIS未來的發(fā)展方向 40
2.6.1  Apache軟件基金會 40
2.6.2  更簡單、更小且依賴性更少 40
2.6.3  更多的擴展點和插件 41
2.6.4  支持更多的平臺和語言 41
2.7  小結 41
第二部分 iBATIS基礎知識
第3章 安裝和配置iBATIS 44
3.1  獲得一份iBATIS發(fā)布 45
3.1.1  二進制發(fā)布 45
3.1.2  從源代碼構建 45
3.2  發(fā)布中包含的內(nèi)容 47
3.3  依賴性 48
3.3.1  針對延遲加載的字節(jié)碼增強 48
3.3.2  Jakarta Commons數(shù)據(jù)庫連接池 49
3.3.3  分布式高速緩存 49
3.4  將iBATIS添加到應用程序中 49
3.4.1  在獨立應用程序中使用iBATIS 50
3.4.2  在Web應用程序中使用iBATIS 50
3.5  iBATIS和JDBC 51
3.5.1  釋放JDBC資源 51
3.5.2  SQL注入 51
3.5.3  降低復雜度 52
3.6  配置iBATIS(續(xù)) 53
3.6.1  SQL Map配置文件 54
3.6.2  <properties>元素 55
3.6.3  <settings>元素 56
3.6.4  <typeAlias>元素 58
3.6.5  <transactionManager>元素 60
3.6.6  <typeHandler>元素 61
3.6.7  <sqlMap>元素 61
3.7  小結 62
第4章 使用已映射語句 63
4.1  從基礎開始 63
4.1.1  創(chuàng)建JavaBean 64
4.1.2  SqlMap API 66
4.1.3  已映射語句的類型 67
4.2  使用<select>已映射語句 70
4.2.1  使用內(nèi)聯(lián)參數(shù)(用#做占位符) 70
4.2.2  使用內(nèi)聯(lián)參數(shù)(用$做占位符) 71
4.2.3  SQL注入簡介 72
4.2.4  自動結果映射 73
4.2.5  聯(lián)結相關數(shù)據(jù) 74
4.3  映射參數(shù) 75
4.3.1  外部參數(shù)映射 75
4.3.2  再論內(nèi)聯(lián)參數(shù)映射 76
4.3.3  基本類型參數(shù) 78
4.3.4  JavaBean參數(shù)和Map參數(shù) 78
4.4  使用內(nèi)聯(lián)結果映射和顯式結果映射 78
4.4.1  基本類型結果 79
4.4.2  JavaBean結果和Map結果 81
4.5  小結 81
第5章 執(zhí)行非查詢語句 82
5.1  更新數(shù)據(jù)的基本方法 82
5.1.1  用于非查詢SQL語句的SqlMap API 82
5.1.2  非查詢已映射語句 83
5.2  插入數(shù)據(jù) 84
5.2.1  使用內(nèi)聯(lián)參數(shù)映射 84
5.2.2  使用外部參數(shù)映射 85
5.2.3  自動生成的鍵 86
5.3  更新和刪除數(shù)據(jù) 88
5.3.1  處理并發(fā)更新 88
5.3.2  更新或刪除子記錄 89
5.4  運行批量更新 90
5.5  使用存儲過程 91
5.5.1  優(yōu)缺點分析 92
5.5.2  IN、OUT和INOUT參數(shù) 93
5.6  小結 95
第6章 使用高級查詢技術 96
6.1  在iBATIS中使用XML 96
6.1.1  XML參數(shù) 96
6.1.2  XML結果 98
6.2  用已映射語句關聯(lián)對象 101
6.2.1  復雜集合 101
6.2.2  延遲加載 104
6.2.3  避免N+1查詢問題 105
6.3  繼承 107
6.4  其他用途 109
6.4.1  使用語句類型和DDL 109
6.4.2  處理超大型數(shù)據(jù)集 109
6.5  小結 115
第7章 事務 116
7.1  事務是什么 116
7.1.1  一個簡單的銀行轉賬示例 116
7.1.2  理解事務的特性 118
7.2  自動事務 120
7.3  局部事務 121
7.4  全局事務 122
7.4.1  使用主動或被動事務 123
7.4.2  開始、提交以及結束事務 124
7.4.3  我是否需要全局事務 124
7.5  定制事務 125
7.6  事務劃界 126
7.6.1  將事務在表現(xiàn)層劃界 128
7.6.2  將事務在持久層劃界 128
7.6.3  將事務在業(yè)務邏輯層劃界 128
7.7  小結 129
第8章 使用動態(tài)SQL 130
8.1  處理動態(tài)WHERE子句條件 130
8.2  熟悉動態(tài)標簽 132
8.2.1  <dynamic>標簽 134
8.2.2  二元標簽 135
8.2.3  一元標簽 136
8.2.4  參數(shù)標簽 137
8.2.5  <iterate>標簽 138
8.3  一個簡單而完整的示例 139
8.3.1  定義如何檢索和顯示數(shù)據(jù) 140
8.3.2  確定將涉及哪些數(shù)據(jù)庫結構 140
8.3.3  以靜態(tài)格式編寫SQL 141
8.3.4  將動態(tài)SQL標簽應用到靜態(tài)SQL上 141
8.4  高級動態(tài)SQL技術 142
8.4.1  定義結果數(shù)據(jù) 142
8.4.2  定義所需的輸入 143
8.4.3  以靜態(tài)格式編寫SQL 144
8.4.4  將動態(tài)SQL標簽應用到靜態(tài)SQL上 145
8.5  動態(tài)SQL的其他替代方案 147
8.5.1  使用Java代碼 147
8.5.2  使用存儲過程 150
8.5.3  同iBATIS相比較 152
8.6  動態(tài)SQL的未來 152
8.6.1  簡化的條件標簽 152
8.6.2  表達式語言 153
8.7  小結 153
第三部分 真實世界中的iBATIS
第9章 使用高速緩存提高性能 156
9.1  一個簡單的iBATIS高速緩存示例 156
9.2  iBATIS高速緩存的理念 157
9.3  理解高速緩存模型 158
9.3.1  type屬性 158
9.3.2  readOnly屬性 159
9.3.3  serialize屬性 159
9.3.4  聯(lián)合使用readOnly屬性和serialize屬性 159
9.4  如何使用高速緩存模型中的標簽 160
9.4.1  高速緩存的清除 160
9.4.2  設置高速緩存模型實現(xiàn)的特性 163
9.5  高速緩存模型的類型 163
9.5.1  MEMORY 163
9.5.2  LRU 164
9.5.3  FIFO 165
9.5.4  OSCACHE 166
9.5.5  你自己的高速緩存模型 166
9.6  確定高速緩存策略 166
9.6.1  高速緩存只讀的長效數(shù)據(jù) 167
9.6.2  高速緩存可讀寫數(shù)據(jù) 169
9.6.3  高速緩存舊的靜態(tài)數(shù)據(jù) 170
9.7  小結 172
第10章 iBATIS數(shù)據(jù)訪問對象 173
10.1  隱藏實現(xiàn)細節(jié) 173
10.1.1  為何要分離 174
10.1.2  一個簡單示例 175
10.2  配置DAO 177
10.2.1  <properties>元素 177
10.2.2  <context>元素 178
10.2.3  <transactionManager>元素 178
10.2.4  DAO元素 182
10.3  配置技巧 183
10.3.1  多個服務器 183
10.3.2  多種數(shù)據(jù)庫方言 184
10.3.3  運行時配置更改 185
10.4  基于SQL Map的DAO實現(xiàn)示例 185
10.4.1  配置iBATIS DAO 186
10.4.2  創(chuàng)建DaoManager實例 187
10.4.3  定義事務管理器 187
10.4.4  加載映射 188
10.4.5  DAO實現(xiàn)編碼 191
10.5  小結 193
第11章 DAO使用進階 194
11.1  不是基于SQLMap的DAO實現(xiàn) 194
11.1.1  Hibernate版本的DAO實現(xiàn) 194
11.1.2  JDBC版本的DAO實現(xiàn) 199
11.2  為其他數(shù)據(jù)源使用DAO模式 203
11.2.1  示例:為LDAP使用DAO 203
11.2.2  示例:為Web服務使用DAO 208
11.3  使用Spring DAO 209
11.3.1  編寫代碼 209
11.3.2  為什么使用Spring代替iBATIS 211
11.4  創(chuàng)建自己的DAO層 211
11.4.1  從實現(xiàn)中分離出接口 212
11.4.2  創(chuàng)建一個工廠以解耦 212
11.5  小結 214
第12章 擴展iBATIS 215
12.1  理解可插拔組件的設計 215
12.2  使用自定義類型處理器 217
12.2.1  實現(xiàn)自定義類型處理器 217
12.2.2  創(chuàng)建TypeHandlerCallback 218
12.2.3  注冊TypeHandlerCallback以供使用 221
12.3  使用CacheController 222
12.3.1  創(chuàng)建CacheController 223
12.3.2  CacheController的放入、獲取以及清除操作 223
12.3.3  注冊CacheController以供使用 224
12.4  配置iBATIS不支持的DataSource 224
12.5  定制事務管理 225
12.5.1  理解TransactionConfig接口 226
12.5.2  理解Transaction接口 227
12.6  小結 228
第四部分 iBATIS使用秘訣
第13章 iBATIS最佳實踐 230
13.1 iBATIS中的單元測試 230
13.1.1 對映射層進行單元測試 231
13.1.2  對DAO進行單元測試 233
13.1.3  對DAO的消費層進行單元測試 235
13.2  管理iBATIS配置文件 237
13.2.1  將其保存在類路徑上 237
13.2.2  集中放置文件 238
13.2.3  主要按返回類型來組織映射文件 239
13.3  命名規(guī)范 239
13.3.1  語句的命名 239
13.3.2  參數(shù)映射的命名 239
13.3.3  結果映射的命名 240
13.3.4  XML文件的命名 240
13.4  Bean、map還是XML 240
13.4.1  JavaBean 241
13.4.2  Map 241
13.4.3  XML 241
13.4.4  基本類型 241
13.5  小結 241
第14章 綜合案例研究 243
14.1  設計理念 243
14.1.1  賬戶 243
14.1.2  目錄 244
14.1.3  購物車 244
14.1.4  訂單 244
14.2  選擇具體的實現(xiàn)技術 244
14.2.1  表現(xiàn)層 244
14.2.2  服務層 244
14.2.3  持久層 245
14.3  調(diào)整Struts:使用BeanAction 245
14.3.1  BaseBean 246
14.3.2  BeanAction 246
14.3.3  ActionContext 246
14.4  JGameStore工程結構 247
14.4.1  src文件夾 247
14.4.2  test文件夾 248
14.4.3  web文件夾 248
14.4.4  build文件夾 248
14.4.5  devlib文件夾 248
14.4.6  lib文件夾 249
14.5  配置web.xml文件 249
14.6  設置表現(xiàn)層 251
14.6.1  第一步 251
14.6.2  使用表現(xiàn)層bean 253
14.7  編寫服務層代碼 257
14.7.1  配置dao.xml文件 258
14.7.2  事務劃界 259
14.8  編寫DAO 260
14.8.1  SQLMap配置 260
14.8.2  SQLMap文件 261
14.8.3  接口和實現(xiàn) 262
14.9  小結 263
附錄A iBATIS.NET快速入門 264
A.1  比較iBATIS和iBATIS.NET 264
A.1.1  為何Java開發(fā)人員應該關心iBATIS.NET 264
A.1.2  為何.NET開發(fā)人員應該關心iBATIS.NET 265
A.1.3  主要區(qū)別是什么 265
A.1.4  相似之處又在哪里 265
A.2  使用iBATIS.NET 265
A.2.1  DLL和依賴性 265
A.2.2  XML配置文件 266
A.2.3  配置API 267
A.2.4  SQL映射文件 267
A.3  到哪里去查找更多的信息 269

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號