注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件工程及軟件方法學iBATIS框架源碼剖析

iBATIS框架源碼剖析

iBATIS框架源碼剖析

定 價:¥79.00

作 者: 任鋼 著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 軟件工程/開發(fā)項目管理

購買這本書可以去


ISBN: 9787121108723 出版時間: 2010-06-01 包裝: 平裝
開本: 16開 頁數: 510 字數:  

內容簡介

  iBATIS是一種比較流行的ORM框架,本書全面介紹其結構體系和分析其源程序代碼,該框架的核心包括兩個組件,一個是iBATIS DAO,另一個是iBATIS SQL Map。本書分為三個部分,第一部分是介紹iBATIS的一些基礎知識;第二部分是介紹iBATIS DAO的框架結構及其實現(xiàn);第三部分是針對iBATIS的底層平臺iBATIS SQL Map進行分析。其中第三部分是主要內容:首先剖析了SQL Map是如何讀取配置信息的;其次說明了SQL Map引擎的實現(xiàn),勾畫出iBATIS SQL Map的框架結構,描述其核心實現(xiàn)機制和主要實現(xiàn)步驟;再次說明SQL Map如何用來實現(xiàn)數據庫處理,包括事務管理、數據庫連接池,以及SQL Map中Mapping的實現(xiàn),這也是iBATIS不同于其他ORM框架的獨創(chuàng)性實現(xiàn);最后就是一些常用的實現(xiàn),如 TypeHandler類型轉化和iBATIS常用工具的實現(xiàn)。在源碼剖析過程中,本書采用了代碼注釋、UML分析和設計、GoF設計模式抽象和歸類、代碼跟蹤和案例的講解和說明。其目的是讓讀者全方位地了解iBATIS的實現(xiàn)框架和實現(xiàn)手段。一方面讓讀者理解開發(fā)者的思路,另一方面也是幫助讀者在實際工作中能應用這些策略、方法和編程技巧。本書適用于軟件設計師、架構師和一些有較好Java基礎的開發(fā)人員,既可以作為iBATIS的學習指南,也可以給軟件架構師在設計方面進行參考。

作者簡介

  任鋼,軟件碩士,高級工程師,從事了十多年的企業(yè)級應用開發(fā),是國家認證的系統(tǒng)分析師、信息項目管理師和系統(tǒng)架構設計師,在學術刊物上發(fā)表了近10篇論文,曾擔任多年的中軟創(chuàng)新公司的技術總監(jiān)和部門總監(jiān)等,現(xiàn)任文思創(chuàng)新公司的技術總監(jiān)。

圖書目錄

第一部分 iBATIS的基礎知識 
第1章 iBATIS概述 2
1.1 iBATIS概論 2
1.2 ORM模型介紹 4
1.2.1 什么是ORM 4
1.2.2 ORM的實現(xiàn)方式 4
1.2.3 常用的ORM框架 8
1.2.4 ORM模型和持久層框架 9
1.3 iBATIS的組件和實現(xiàn)的功能 10
1.3.1 iBATIS的DAO組件 10
1.3.2 iBATIS SQL Map組件 11 
第2章 相關的技術背景和基礎知識 13
2.1 面向對象和UML基本知識 13
2.1.1 面向對象基礎 13
2.1.2 UML基礎知識 15
2.1.3 UML圖 16
2.1.4 類和接口以及之間的關系 18
2.2 Java基礎知識 26
2.2.1 Java的I/O操作 27
2.2.2 Java解析XML文檔 27
2.2.3 Java的線程管理 29
2.2.4 Java的反射機制 31
2.2.5 Java的動態(tài)Proxy 32
2.2.6 JDBC和JDBC擴展 33
2.2.7 JavaBean 34
2.2.8 JNDI 35
2.3 數據庫相關基礎知識 37
2.3.1 SQL 37
2.3.2 數據庫事務管理 38
2.4 Java EE規(guī)范相關知識 39
2.5 開源ORM框架 40
2.5.1 Hibernate 40
2.5.2 TopLink 42
2.5.3 Apache OJB 42
2.6 其他開源框架 43
2.6.1 與Log相關的開源框架 43
2.6.2 OSCache 44
2.6.3 Commons-DBCP數據庫連
2.6.3 接池 45
2.7 GoF的23種設計模式 45 
第3章 安裝和配置iBATIS源碼 48
3.1 安裝和配置iBATIS SQL Map
3.1 源碼環(huán)境 48
3.2 安裝和配置iBATIS DAO
3.2 源碼環(huán)境 50
3.3 安裝和配置iBATIS JPetStore
3.3 源碼環(huán)境 51
3.3.1 iBATIS JPetStore源碼環(huán)境
3.3.1 配置 51
3.3.2 創(chuàng)建iBATIS JPetStore的
3.3.1 應用 53
3.3.3 安裝iBATIS JPetStore的
3.3.1 MySQL數據庫 53
3.3.4 安裝MySQL數據庫的管理
3.3.1 工具 58
3.3.5 配置成功的標志 60 
第二部分 iBATIS DAO框架 源碼剖析 
第4章 iBATIS DAO體系結構和
第4章 實現(xiàn) 64
4.1 iBATIS DAO基本結構 64
4.1.1 Java EE核心設計模式
4.1.1 --DAO模式介紹 65
4.1.2 iBATIS DAO包文件和組件
4.1.1 結構 66
4.1.3 使用iBATIS DAO工作
4.1.1 流程 67
4.2 iBATIS DAO外部接口和
4.2 實現(xiàn) 68
4.2.1 iBATIS DAO框架外部
4.2.1 接口 68
4.2.2 iBATIS DAO Template API
4.2.2 結構和說明 69
4.3 DAO配置文件讀取 72
4.3.1 dao.xml的格式說明 72
4.3.2 dao.xml文件的讀取過程 73
4.3.3 如何驗證dao.xml文件 82
4.3.4 dao.xml配置文件實例
4.4.1 說明 84
4.4 iBATIS DAO引擎實現(xiàn) 87
4.4.1 DAO業(yè)務實現(xiàn)的序列圖和
4.4.1 說明 87
4.4.2 iBATIS DAO組件管理 90
4.4.3 iBATIS DAO事務管理
4.4.1 實現(xiàn) 94
4.5 基于iBATIS DAO SqlMap的
4.5 實例說明 124
4.6 讀取源碼的收獲 132 
第三部分 iBATIS的底層平臺--iBATIS SQL Map的分析 
第5章 iBATIS SQL Map體系結構 
第5章 和剖析 134
5.1 SQL Map實現(xiàn)的功能和
5.1 原理 134
5.2 SQL Map組件的包結構和
5.2 文件結構 136
5.3 SQL Map的組件結構 137 
第6章 SQL Map配置信息的讀取 139
6.1 XML文件的驗證處理 139
6.1.1 XML驗證處理的
3.3.1 通用模式 139
6.1.2 iBATIS SQL Map的XML
6.1.2 驗證 142
6.2 解析SQL Map配置文件 145
6.2.1 SqlMapConfig.xml的格式
3.3.1 說明 145
6.2.2 SqlMapConfig.xml文件讀取
3.3.1 總體說明 147
6.2.3 基于設計模式中策略模式
3.3.1 的數據執(zhí)行 152
6.2.4 基于遞歸和路徑來實現(xiàn)配置
3.3.1 文件的全部遍歷 157
6.2.5 XmlParserState對象在解析
3.3.1 SQL Map XML配置文件的
3.3.1 協(xié)調者角色 159
6.2.6 配置的一級門面
3.3.1 SqlMapConfiguration
3.3.1 實例化對象 162
6.2.7 一級應用門面
3.3.1 SqlMapExecutorDelegate
3.3.1 實例化對象 164
6.2.8 SQL Map配置文件中節(jié)點
3.3.1 解析的通用處理 165
6.2.9 數據庫事務節(jié)點的解析和
3.3.1 轉化 167
6.2.10 配置文件其他節(jié)點的
3.3.1 解析和轉化 170
6.3 解析SQL Map映射文件 178
6.3.1 SQL Map XML映射
3.3.1 文件格式 178
6.3.2 SQL Map XML映射文件
3.3.1 讀取總體說明 182
6.3.3 XmlParserState對象解析
3.3.1 SQL Map映射文件的
3.3.1 協(xié)調者角色 185
6.3.4 cacheModel節(jié)點的解析
3.3.1 和轉化 187
6.3.5 parameterMap節(jié)點的解析
3.3.1 和轉化 194
6.3.6 resultMap節(jié)點的解析
3.3.1 和轉化 200
6.3.7 statement類型節(jié)點的解析
3.3.1 和轉化 212
6.3.8 對SQL的處理 223
6.4 抽象出通用的XML解析
6.4 框架 229
6.5 讀取源碼的收獲 235 
第7章 SQL Map引擎實現(xiàn)框架 236
7.1 SQL Map引擎實現(xiàn)框架的
7.1 組成 236
7.2 業(yè)務運行過程和介紹 239
7.2.1 總體業(yè)務運行過程序
3.3.1 列圖 239
7.2.2 系統(tǒng)總體運行簡化說
3.3.1 明圖 240
7.3 業(yè)務實現(xiàn)類的分析 242
7.3.1 業(yè)務實現(xiàn)類 243
7.3.2 配置信息類 254
7.3.3 運行狀態(tài)信息類 256
7.4 業(yè)務實現(xiàn)分析 258
7.4.1 業(yè)務實現(xiàn)兩個階段的
3.3.1 分析 258
7.4.2 查詢類業(yè)務實現(xiàn)過程 259
7.4.3 單事務業(yè)務操作實現(xiàn)
3.3.1 過程 264
7.4.4 聯(lián)合事務處理實現(xiàn)過程 266
7.4.5 存儲過程的處理 272
7.4.6 批處理及其實現(xiàn) 275
7.4.7 全局JTA事務的處理 277
7.4.8 全局外部事務的處理 278
7.4.9 用戶自定義數據庫
3.3.1 Connection處理 279
7.5 讀取源碼的收獲 280 
第8章 SQL Map數據庫處理 281
8.1 SQL Map的transaction
8.1 Manager 282
8.1.1 Java事務簡介 282
8.1.2 SQL Map的transaction
3.3.1 Manager概述 282
8.1.3 SQL Map事務管理的
3.3.1 設計模式 283
8.2 系統(tǒng)如何調用事務管理和
8.2 SQL Map事務策略 285
8.2.1 SQL Map如何調用事務 285
8.2.2 Java事務類型 286
8.2.3 SQL Map中JDBC事務
3.3.1 實現(xiàn) 290
8.2.4 SQL Map中JTA事務
3.3.1 實現(xiàn) 293
8.2.5 SQL Map的External事務
3.3.1 實現(xiàn) 297
8.2.6 SQL Map的用戶事務
3.3.1 實現(xiàn) 298
8.3 SQL Map的DataSource
8.3 策略 298
8.3.1 關于DataSource的說明 298
8.3.2 SQL Map的DataSource
3.3.1 結構和內容 300
8.3.3 SIMPLE策略的實現(xiàn) 302
8.3.4 DBCP策略實現(xiàn) 302
8.3.5 JNDI策略實現(xiàn) 304
8.4 SQL Map自定義DataSource
8.4 實現(xiàn) 306
8.4.1 DataSource接口的結構 306
8.4.2 實現(xiàn)DataSource的設計
3.3.1 思路 306
8.4.3 SimpleDataSource設計和
3.3.1 實現(xiàn) 308
8.5 SQL Map擴展DataSource
8.5 為C3P0 322
8.6 SQL Map如何進行批處理 324
8.7 SQL Map事務隔離的實現(xiàn) 327
8.7.1 JDBC事務隔離概述 327
8.7.2 SQL Map的事務隔離的
3.3.1 實現(xiàn) 328
8.8 SQL Map事務狀態(tài)的實現(xiàn) 329
8.9 讀取源碼的收獲 330 
第9章 SQL Map中Mapping實現(xiàn) 332
9.1 ParameterMap框架及其
9.1 說明 333
9.1.1 ParameterMap總體框架
3.3.1 說明 333
9.1.2 ParameterMap組件中各個
3.3.1 類介紹 334
9.1.3 ParameterMap框架如何
3.3.1 工作 335
9.2 ResultMap框架及其說明 338
9.2.1 ResultMap框架介紹 338
9.2.2 ResultMap框架說明 339
9.2.3 ResultMap中的類說明 340
9.2.4 ResultMap框架是如何
3.3.1 工作的 341
9.2.5 如何實現(xiàn)子查詢 342
9.2.6 延遲加載的實現(xiàn) 345
9.3 Statement框架及其說明 348
9.3.1 Statement介紹 348
9.3.2 Statement框架總體結構 349
9.3.3 Statement組件中的類
3.3.1 介紹 350
9.3.4 MappedStatement是如何
3.3.1 工作的 354
9.3.5 Statement緩存的實現(xiàn) 361
9.3.6 自動生成的主鍵 363
9.4 Sql框架及其說明 367
9.4.1 Sql接口框架 367
9.4.2 SqlChild接口框架 368
9.4.3 Sql接口方法 368
9.4.4 靜態(tài)SQL的實現(xiàn) 369
9.4.5 簡單動態(tài)SQL的實現(xiàn) 370
9.4.6 動態(tài)SQL語言的實現(xiàn) 372
9.5 數據對象轉換框架及其
9.5 說明 379
9.5.1 DataExchange組件作用、
3.3.1 內容和設計模式 380
9.5.2 Accessplan組件的
3.3.1 設計模式 393
9.5.3 DataExchange和Accessplan
3.3.1 在系統(tǒng)中如何實現(xiàn) 399
9.6 讀取源碼的收獲 404 
第10章 SQL Map緩存管理和實現(xiàn) 405
10.1 SQL Map緩存結構和組成 406
10.2 系統(tǒng)如何使用緩存 407
10.2.1 緩存實現(xiàn)的序列圖和
3.3.1 說明 407
10.2.2 CacheModel類緩存的
3.3.1 實現(xiàn) 409
10.2.3 唯一性CacheKey對象的
3.3.1 產生 411
10.3 緩存策略的程序實現(xiàn) 412
10.3.1 FIFO緩存實現(xiàn) 413
10.3.2 LRU緩存實現(xiàn) 415
10.3.3 MEMORY緩存實現(xiàn) 417
10.3.4 OSCACHE緩存實現(xiàn) 420
10.4 擴展緩存策略--增加先進
10.4 后出緩存策略 422
10.5 讀取源碼的收獲 425 
第11章 TypeHandler類型轉化 426
11.1 Java的數據類型的說明 426
11.2 TypeHandler組件的框架
11.2 結構 427
11.3 TypeHandlerFactory的結構、
11.3 作用和實現(xiàn) 428
11.3.1 TypeHandlerFactory的
3.3.1 別名處理 428
11.3.2 TypeHandlerFactory容器
3.3.1 的數據類型轉化 430
11.4 TypeHandler的實現(xiàn) 431
11.4.1 一般類型的處理 433
11.4.2 Sql類型的處理 434
11.4.3 通用類型的處理 436
11.4.4 定制數據類型的轉化 438
11.5 讀取源碼的收獲 440 
第12章 iBATIS常用工具的實現(xiàn) 441
12.1 Resources工具 441
12.1.1 資源加載 441
12.1.2 實例化類并緩存 445
12.2 Bean管理 447
12.2.1 ClassInfo類 447
12.2.2 Probe接口及其實現(xiàn) 453
12.3 Log管理 468
12.4 調試信息工具 472
12.5 ScriptRunner的應用 472
12.6 讀取源碼的收獲 476
附錄一:第4章 dao-2.dtd 478
附錄二:第5章 SqlMapConfig.xml
附錄二:的DTD結構 479
附錄三:第5章 SqlMapConfig.xml
附錄三:的XSD結構 484
附錄四:第5章 SqlMapMapping.xml
附錄四:的DTD結構 486
附錄五:第5章 SqlMapMapping.xml
附錄五:的XSD結構 500
附錄六:第11章 JDBC Types Mapped
附錄六:to Java Types 503
附錄七:第11章 Java Types Mapped
附錄七:to JDBC Types 504
附錄八:第11章 JDBC Types Mapped
附錄八:to Java Object Types 505
附錄九:第11章 Java Object Types
附錄九:Mapped to JDBC Types 506
附錄十:第11章 JDBC Types Mapped
附錄十:to Database-specific SQL
附錄十:Types 507
參考文獻 509

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號