iBATIS实战PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(加)Clinton Begin,Brandon Goodin,Larry Meadors著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2008
- ISBN:7115177104
- 页数:269 页
第一部分 介绍 2
第1章 iBATIS的理念 2
1.1 一个结合了所有优秀思想的混合型解决方案 2
1.1.1 探索iBATIS的根源 3
1.1.2 理解iBATIS的优势 7
1.2 iBATIS适合应用在何处 10
1.2.1 业务对象模型 11
1.2.2 表现层 11
1.2.3 业务逻辑层 12
1.2.4 持久层 13
1.2.5 关系数据库 15
1.3 使用不同类型的数据库 17
1.3.1 应用程序数据库 17
1.3.2 企业数据库 18
1.3.3 私有数据库 19
1.3.4 遗留数据库 20
1.4 iBATIS如何解决数据库的常见问题 20
1.4.1 所有权与控制 20
1.4.2 被多个分散的系统访问 21
1.4.3 复杂的键和关系 21
1.4.4 数据模型的去规范化或过度规范化 22
1.4.5 瘦数据模型 23
1.5 小结 24
第2章 iBATIS是什么 26
2.1 映射SQL语句 27
2.2 iBATIS如何工作 29
2.2.1 iBATIS之于小型、简单系统 30
2.2.2 iBATIS之于大型、企业级系统 31
2.3 为何使用iBATIS 31
2.3.1 简单性 32
2.3.2 生产效率 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 当应用程序需要完全动态的SQL时 34
2.4.3 当没有使用关系数据库时 35
2.4.4 当iBATIS不起作用时 35
2.5 5分钟内用iBATIS创建应用程序 35
2.5.1 安装数据库 36
2.5.2 编写代码 36
2.5.3 配置iBATIS(预览) 37
2.5.4 构建应用程序 38
2.5.5 运行应用程序 39
2.6 iBATIS未来的发展方向 40
2.6.1 Apache软件基金会 40
2.6.2 更简单、更小且依赖性更少 40
2.6.3 更多的扩展点和插件 41
2.6.4 支持更多的平台和语言 41
2.7 小结 41
第二部分 iBATIS基础知识 44
第3章 安装和配置iBATIS 44
3.1 获得一份iBATIS发布 45
3.1.1 二进制发布 45
3.1.2 从源代码构建 45
3.2 发布中包含的内容 47
3.3 依赖性 48
3.3.1 针对延迟加载的字节码增强 48
3.3.2 Jakarta Commons数据库连接池 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(续) 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 创建JavaBean 64
4.1.2 SqlMap API 66
4.1.3 已映射语句的类型 67
4.2 使用<select>已映射语句 70
4.2.1 使用内联参数(用#做占位符) 70
4.2.2 使用内联参数(用$做占位符) 71
4.2.3 SQL注入简介 72
4.2.4 自动结果映射 73
4.2.5 联结相关数据 74
4.3 映射参数 75
4.3.1 外部参数映射 75
4.3.2 再论内联参数映射 76
4.3.3 基本类型参数 78
4.3.4 JavaBean参数和Map参数 78
4.4 使用内联结果映射和显式结果映射 78
4.4.1 基本类型结果 79
4.4.2 JavaBean结果和Map结果 81
4.5 小结 81
第5章 执行非查询语句 82
5.1 更新数据的基本方法 82
5.1.1 用于非查询SQL语句的SqlMap API 82
5.1.2 非查询已映射语句 83
5.2 插入数据 84
5.2.1 使用内联参数映射 84
5.2.2 使用外部参数映射 85
5.2.3 自动生成的键 86
5.3 更新和删除数据 88
5.3.1 处理并发更新 88
5.3.2 更新或删除子记录 89
5.4 运行批量更新 90
5.5 使用存储过程 91
5.5.1 优缺点分析 92
5.5.2 IN、OUT和INOUT参数 93
5.6 小结 95
第6章 使用高级查询技术 96
6.1 在iBATIS中使用XML 96
6.1.1 XML参数 96
6.1.2 XML结果 98
6.2 用已映射语句关联对象 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 处理超大型数据集 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 将事务在表现层划界 128
7.6.2 将事务在持久层划界 128
7.6.3 将事务在业务逻辑层划界 128
7.7 小结 129
第8章 使用动态SQL 130
8.1 处理动态WHERE子句条件 130
8.2 熟悉动态标签 132
8.2.1 <dynamic>标签 134
8.2.2 二元标签 135
8.2.3 一元标签 136
8.2.4 参数标签 137
8.2.5 <iterate>标签 138
8.3 一个简单而完整的示例 139
8.3.1 定义如何检索和显示数据 140
8.3.2 确定将涉及哪些数据库结构 140
8.3.3 以静态格式编写SQL 141
8.3.4 将动态SQL标签应用到静态SQL上 141
8.4 高级动态SQL技术 142
8.4.1 定义结果数据 142
8.4.2 定义所需的输入 143
8.4.3 以静态格式编写SQL 144
8.4.4 将动态SQL标签应用到静态SQL上 145
8.5 动态SQL的其他替代方案 147
8.5.1 使用Java代码 147
8.5.2 使用存储过程 150
8.5.3 同iBATIS相比较 152
8.6 动态SQL的未来 152
8.6.1 简化的条件标签 152
8.6.2 表达式语言 153
8.7 小结 153
第三部分 真实世界中的iBATIS 156
第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 联合使用readOnly属性和serialize属性 159
9.4 如何使用高速缓存模型中的标签 160
9.4.1 高速缓存的清除 160
9.4.2 设置高速缓存模型实现的特性 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 高速缓存只读的长效数据 167
9.6.2 高速缓存可读写数据 169
9.6.3 高速缓存旧的静态数据 170
9.7 小结 172
第10章 iBATIS数据访问对象 173
10.1 隐藏实现细节 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 多种数据库方言 184
10.3.3 运行时配置更改 185
10.4 基于SQL Map的DAO实现示例 185
10.4.1 配置iBATIS DAO 186
10.4.2 创建DaoManager实例 187
10.4.3 定义事务管理器 187
10.4.4 加载映射 188
10.4.5 DAO实现编码 191
10.5 小结 193
第11章 DAO使用进阶 194
11.1 不是基于SQLMap的DAO实现 194
11.1.1 Hibernate版本的DAO实现 194
11.1.2 JDBC版本的DAO实现 199
11.2 为其他数据源使用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 创建自己的DAO层 211
11.4.1 从实现中分离出接口 212
11.4.2 创建一个工厂以解耦 212
11.5 小结 214
第12章 扩展iBATIS 215
12.1 理解可插拔组件的设计 215
12.2 使用自定义类型处理器 217
12.2.1 实现自定义类型处理器 217
12.2.2 创建TypeHandlerCallback 218
12.2.3 注册TypeHandlerCallback以供使用 221
12.3 使用CacheController 222
12.3.1 创建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使用秘诀 230
第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 命名规范 239
13.3.1 语句的命名 239
13.3.2 参数映射的命名 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 选择具体的实现技术 244
14.2.1 表现层 244
14.2.2 服务层 244
14.2.3 持久层 245
14.3 调整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 设置表现层 251
14.6.1 第一步 251
14.6.2 使用表现层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 接口和实现 262
14.9 小结 263
附录A iBATIS.NET快速入门 264
A.1 比较iBATIS和iBATIS.NET 264
A.1.1 为何Java开发人员应该关心iBATIS.NET 264
A.1.2 为何.NET开发人员应该关心iBATIS.NET 265
A.1.3 主要区别是什么 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
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《半小时漫画股票实战法》财经杂质著 2019
- 《深度学习与飞桨PaddlePaddle Fluid实战》于祥 2019
- 《数字插画实战 人像创作30例》王鲁光著 2019
- 《2017国家执业药师资格考试 全考点实战通关必备 中药学综合知识与技能 第3版》国家执业药师资格考试命题研究专家组 2017
- 《微软Azure实战参考》李竞,陈勇华编著 2019
- 《Cocos Creator微信小游戏开发实战》王绍明编著 2020
- 《克里蒙奇钢琴教程》(美)吴菀夷,(加)陈若心编著 2019
- 《空气动力学 7 飘浮的秘密》(加)克里斯·费里著 2019
- 《弗里达·卡罗》(加)苏珊娜·巴贝扎特著;朱一凡,玩静雯,李梦幻译 2020
- 《快乐的陷阱》(加)兰迪·帕特森(RandyJ.Paterson) 2019
- 《克里蒙奇钢琴教程 第2册》(美)吴菀夷,(加)陈若心编著 2019
- 《因为天空曾经真实》(加)衣田·拉朗德(Etienne Lalonde)著 2018
- 《刺杀肯尼迪》(美)比尔·奥赖利(美)马丁·杜加尔德 2019
- 《妊娠期药理学》(加)唐纳德?R.马蒂森主编;阎姝主译 2019
- 《未来的最后一年》(加)罗伯特·查尔斯·威尔森著,壹零译 2019
- 《指数级成长》程旭责编;韩盟盟译者;(加)格里·洛维斯 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019