注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)JAVA及其相關(guān)iBATIS實(shí)戰(zhàn)

iBATIS實(shí)戰(zhàn)

iBATIS實(shí)戰(zhàn)

定 價(jià):¥45.00

作 者: (加)Clinton Begin,Brandon Goodin,Larry Meadors
出版社: 人民郵電出版社
叢編項(xiàng): 圖靈程序設(shè)計(jì)叢書·Java系列
標(biāo) 簽: JAVA

ISBN: 9787115177100 出版時(shí)間: 2008-05-01 包裝: 平裝
開本: 16 頁(yè)數(shù): 269 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

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