微信扫一扫,移动浏览光盘

简介

  本书是讲述iBATIS框架的权威著作。书中既详实地介绍了iBATIS的设计理念和基础知识,也讨论了动态SQL、高速缓存、DAD框架等高级主题,还讲解了iBATIS在实际开发中的应用。书的最后给出了一个设计优雅、层次清晰的示例程序JGameStore,该示例涵盖全书的大部分知识点,可以作为iBATIS学习和Web开发的经典案例,非常值得深入研究。    本书既可为广大的开发人员(不仅仅是Web应用程序开发人员)提供指导,也可为架构师的项目决策提供参考。项目经理、数据库管理员、质量保证员与测试员以及系统分析师也能从本书中受益。

目录

目录
第一部分 介绍
第1章 iBATIS的理念
1.1 一个结合了所有优秀思想的混合型解决方案
1.1.1 探索iBATIS的根源
1.1.2 理解iBATIS的优势
1.2 iBATIS适合应用在何处
1.2.1 业务对象模型
1.2.2 表现层
1.2.3 业务逻辑层
1.2.4 持久层
1.2.5 关系数据库
1.3 使用不同类型的数据库
1.3.1 应用程序数据库
1.3.2 企业数据库
1.3.3 私有数据库
1.3.4 遗留数据库
1.4 iBATIS如何解决数据库的常见问题
1.4.1 所有权与控制
1.4.2 被多个分散的系统访问
1.4.3 复杂的键和关系
1.4.4 数据模型的去规范化或过度规范化
1.4.5 瘦数据模型
1.5 小结
第2章 iBATIS是什么
2.1 映射SQL语句
2.2 iBATIS如何工作
2.2.1 iBATIS之于小型、简单系统
2.2.2 iBATIS之于大型、企业级系统
2.3 为何使用iBATIS
2.3.1 简单性
2.3.2 生产效率
2.3.3 性能
2.3.4 关注点分离
2.3.5 明确分工
2.3.6 可移植性:Java、.NET及其他
2.3.7 开源和诚实
2.4 何时不该使用iBATIS
2.4.1 当永远拥有完全控制权时
2.4.2 当应用程序需要完全动态的SQL时
2.4.3 当没有使用关系数据库时
2.4.4 当iBATIS不起作用时
2.5 5分钟内用iBATIS创建应用程序
2.5.1 安装数据库
2.5.2 编写代码
2.5.3 配置iBATIS(预览)
2.5.4 构建应用程序
2.5.5 运行应用程序
2.6 iBATIS未来的发展方向
2.6.1 Apache软件基金会
2.6.2 更简单、更小且依赖性更少
2.6.3 更多的扩展点和插件
2.6.4 支持更多的平台和语言
2.7 小结
第二部分 iBATIS基础知识
第3章 安装和配置iBATIS
3.1 获得一份iBATIS发布
3.1.1 二进制发布
3.1.2 从源代码构建
3.2 发布中包含的内容
3.3 依赖性
3.3.1 针对延迟加载的字节码增强
3.3.2 Jakarta Commons数据库连接池
3.3.3 分布式高速缓存
3.4 将iBATIS添加到应用程序中
3.4.1 在独立应用程序中使用iBATIS
3.4.2 在Web应用程序中使用iBATIS
3.5 iBATIS和JDBC
3.5.1 释放JDBC资源
3.5.2 SQL注入
3.5.3 降低复杂度
3.6 配置iBATIS(续)
3.6.1 SQL Map配置文件
3.6.2 <properties>元素
3.6.3 <settings>元素
3.6.4 <typeAlias>元素
3.6.5 <transactionManager>元素
3.6.6 <typeHandler>元素
3.6.7 <sglMap>元素
3.7 小结
第4章 使用已映射语句
4.1 从基础开始
4.1.1 创建JavaBean
4.1.2 SqlMap API
4.1.3 已映射语句的类型
4.2 使用<select>己映射语句
4.2.1 使用内联参数(用#做占位符)
4.2.2 使用内联参数(用$做占位符)
4.2.3 SQL注入简介
4.2.4 自动结果映射
4.2.5 联结相关数据
4.3 映射参数
4.3.1 外部参数映射
4.3.2 再论内联参数映射
4.3.3 基本类型参数
4.3.4 JavaBean参数和Map参数
4.4 使用内联结果映射和显式结果映射
4.4.1 基本类型结果
4.4.2 JavaBean结果和Map结果
4.5 小结
第5章 执行非查询语句
5.1 更新数据的基本方法
5.1.1 用于非查询SQL语句的Sq1MapAPI
5.1.2 非查询已映射语句
5.2 插入数据
5.2.1 使用内联参数映射
5.2.2 使用外部参数映射
5.2.3 自动生成的键
5.3 更新和删除数据
5.3.1 处理并发更新
5.3.2 更新或删除子记录
5.4 运行批量更新
5.5 使用存储过程
5.5.1 优缺点分析
5.5.2 IN.OUT和INOUT参数
5.6 小结
第6章 使用高级查询技术
6.1 在iBATIS中使用XML
6.1.1 XML参数
6.1.2 XML结果
6.2 用己映射语句关联对象
6.2.1 复杂集合
6.2.2 延迟加载
6.2.3 避免N+1查询问题
6.3 继承
6.4 其他用途
6.4.1 使用语句类型和DDL
6.4.2 处理超大型数据集
6.5 小结
第7章 事务
7.1 事务是什么
7.1.1 一个简单的银行转账示例
7.1.2 理解事务的特性
7.2 自动事务
7.3 局部事务
7.4 全局事务
7.4.1 使用主动或被动事务
7.4.2 开始、提交以及结束事务
7.4.3 我是否需要全局事务
7.5 定制事务
7.6 事务划界
7.6.1 将事务在表现层划界
7.6.2 将事务在持久层划界
7.6.3 将事务在业务逻辑层划界
7.7 小结
第8章 使用动态SQL
8.1 处理动态WHERE子句条件
8.2 熟悉动态标签
8.2.1 <dynamic>标签
8.2.2 二元标签
8.2.3 一元标签
8.2.4 参数标签
8.2.5 <iterate>标签
8.3 一个简单而完整的示例
8.3.1 定义如何检索和显示数据
8.3.2 确定将涉及哪些数据库结构
8.3.3 以静态格式编写SQL
8.3.4 将动态SQL标签应用到静态SQL上
8.4 高级动态SQL技术
8.4.1 定义结果数据
8.4.2 定义所需的输入
8.4.3 以静态格式编写SQL
8.4.4 将动态SQL标签应用到静态SQL上
8.5 动态SQL的其他替代方案
8.5.1 使用Java代码
8.5.2 使用存储过程
8.5.3 同iBATIS相比较
8.6 动态SQL的未来
8.6.1 简化的条件标签
8.6.2 表达式语言
8.7 小结
第三部分 真实世界中的iBATIS
第9章 使用高速缓存提高性能
9.1 一个简单的iBATIS高速缓存示例
9.2 iBATIS高速缓存的理念
9.3 理解高速缓存模型
9.3.1 type属性
9.3.2 readOnly属性
9.3.3 serialize属性
9.3.4 联合使用readOnly属性和serialize属性
9.4 如何使用高速缓存模型中的标签
9.4.1 高速缓存的清除
9.4.2 设置高速缓存模型实现的特性
9.5 高速缓存模型的类型
9.5.1 MEMORY
9.5.2 LRU
9.5.3 FIFO
9.5.4 OSCACHE
9.5.5 你自己的高速缓存模型
9.6 确定高速缓存策略
9.6.1 高速缓存只读的长效数据
9.6.2 高速缓存可读写数据
9.6.3 高速缓存旧的静态数据
9.7 小结
第10章 iBATIS数据访问对象
10.1 隐藏实现细节
10.1.1 为何要分离
10.1.2 一个简单示例
10.2 配置DAO
10.2.1 <properties>元素
10.2.2 <context>元素
10.2.3 <transactionManager>元素
10.2.4 DAO元素
10.3 配置技巧
10.3.1 多个服务器
10.3.2 多种数据库方言
10.3.3 运行时配置更改
10.4 基于SQL Map的DAO实现示例
10.4.1 配置iBATIS DAO
10.4.2 创建DaoManager实例
10.4.3 定义事务管理器
10.4.4 加载映射
10.4.5 DAO实现编码
10.5 小结
第11章 DAO使用进阶
11.1 不是基于SQLMap的DAO实现
11.1.1 Hibernate版本的DAO实现
11.1.2 JDBC版本的DAO实现
11.2 为其他数据源使用DAO模式
11.2.1 示例:为LDAP使用DAO
11.2.2 示例:为Web服务使用DAO
11.3 使用Spring DAO
11.3.1 编写代码
11.3.2 为什么使用Spring代替iBATIS
11.4 创建自己的DAO层
11.4.1 从实现中分离出接口
11.4.2 创建一个工厂以解耦
11.5 小结
第12章 扩展iBATIS
12.1 理解可插拔组件的设计
12.2 使用自定义类型处理器
12.2.1 实现自定义类型处理器
12.2.2 创建TypeHandlerCallback
12.2.3 注册TypeHandlerCallback以供使用
12.3 使用CacheController
12.3.1 创建CacheController
12.3.2 CacheController的放入、获取以及清除操作
12.3.3 注册CacheController以供使用
12.4 配置iBATIS不支持的DataSource
12.5 定制事务管理
12.5.1 理解TransactionConficg接口
12.5.2 理解Transaction接口
12.6 小结
第四部分 iBATIS使用秘诀
第13章 iBATIS最佳实践
13.1 iBATIS中的单元测试
13.1.1 对映射层进行单元测试
13.1.2 对DAO进行单元测试
13.1.3 对DAO的消费层进行单元测试
13.2 管理iBATIS配置文件
13.2.1 将其保存在类路径上
13.2.2 集中放置文件
13.2.3 主要按返回类型来组织映射文件
13.3 命名规范
13.3.1 语句的命名
13.3.2 参数映射的命名
13.3.3 结果映射的命名
13.3.4 XML文件的命名
13.4 Bean、map还是XML
13.4.1 JavaBean
13.4.2 Map
13.4.3 XML
13.4.4 基本类型
13.5 小结
第14章 综合案例研究
14.1 设计理念
14.1.1 账户
14.1.2 目录
14.1.3 购物车
14.1.4 订单
14.2 选择具体的实现技术
14.2.1 表现层
14.2.2 服务层
14.2.3 持久层
14.3 调整Struts:使用BeanAction
14.3.1 BaseBean
14.3.2 BeanAction
14.3.3 ActionContext
14.4 JGameStore工程结构
14.4.1 src文件夹
14.4.2 test文件夹
14.4.3 web文件夹
14.4.4 build文件夹
14.4.5 devlib文件夹
14.4.6 lib文件夹
14.5 配置web.xnl文件
14.6 设置表现层
14.6.1 第一步
14.6.2 使用表现层bean
14.7 编写服务层代码
14.7.1 配置dao.xml文件
14.7.2 事务划界
14.8 编写DAO
14.8.1 SQLMap配置
14.8.2 SQLMap文件
14.8.3 接口和实现
14.9 小结
附录A IBATIS.NE快速入门
A.1 比较iBATIS和iBATIS.NET
A.1.1 为何Java开发人员应该关心iBATIS.NET
A.1.2 为何.NET开发人员应该关心iBATIS.NET
A.1.3 主要区别是什么
A.1.4 相似之处又在哪里
A.2 使用iBATIS.NET
A.2.1 DLL和依赖性
A.2.2 XML配置文件
A.2.3 配置API
A.2.4 SQL映射文件
A.3 到哪里去查找更多的信息

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

iBATIS in action
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon