第一图书网

iBATIS框架源码剖析

任钢 电子工业出版社
出版时间:

2010 年6月  

出版社:

电子工业出版社  

作者:

任钢  

页数:

510  

Tag标签:

无  

内容概要

  iBATIS是一种比较流行的ORM框架,本书全面介绍其结构体系和分析其源程序代码,该框架的核心包括两个组件,一个是iBATIS DAO,另一个是iBATIS SQL Map。  本书分为三个部分,第一部分是介绍iBATIS的一些基础知识;第二部分是介绍iBATIS DAO的框架结构及其实现;第三部分是针对iBATIS的底层平台iBATIS SQL Map进行分析。其中第三部分是主要内容:首先剖析了SQL Map是如何读取配置信息的;其次说明了SQL Map引擎的实现,勾画出iBATIS SQL Map的框架结构,描述其核心实现机制和主要实现步骤;再次说明SQL Map如何用来实现数据库处理,包括事务管理、数据库连接池,以及SQL Map中Mapping的实现,这也是iBATIS不同于其他ORM框架的独创性实现;最后就是一些常用的实现,如 TypeHandler类型转化和iBATIS常用工具的实现。  在源码剖析过程中,本书采用了代码注释、UML分析和设计、GoF设计模式抽象和归类、代码跟踪和案例的讲解和说明。其目的是让读者全方位地了解iBATIS的实现框架和实现手段。一方面让读者理解开发者的思路,另一方面也是帮助读者在实际工作中能应用这些策略、方法和编程技巧。  本书适用于软件设计师、架构师和一些有较好Java基础的开发人员,既可以作为iBATIS的学习指南,也可以给软件架构师在设计方面进行参考。

作者简介

任钢,软件硕士,高级工程师,从事了十多年的企业级应用开发,是国家认证的系统分析师、信息项目管理师和系统架构设计师,在学术刊物上发表了近10篇论文,曾担任多年的中软创新公司的技术总监和部门总监等,现任文思创新公司的技术总监。

书籍目录

第一部分 iBATIS的基础知识 第1章 iBATIS概述 21.1 iBATIS概论 21.2 ORM模型介绍 41.2.1 什么是ORM 41.2.2 ORM的实现方式 41.2.3 常用的ORM框架 81.2.4 ORM模型和持久层框架 91.3 iBATIS的组件和实现的功能 101.3.1 iBATIS的DAO组件 101.3.2 iBATIS SQL Map组件 11 第2章 相关的技术背景和基础知识 132.1 面向对象和UML基本知识 132.1.1 面向对象基础 132.1.2 UML基础知识 152.1.3 UML图 162.1.4 类和接口以及之间的关系 182.2 Java基础知识 262.2.1 Java的I/O操作 272.2.2 Java解析XML文档 272.2.3 Java的线程管理 292.2.4 Java的反射机制 312.2.5 Java的动态Proxy 322.2.6 JDBC和JDBC扩展 332.2.7 JavaBean 342.2.8 JNDI 352.3 数据库相关基础知识 372.3.1 SQL 372.3.2 数据库事务管理 382.4 Java EE规范相关知识 392.5 开源ORM框架 402.5.1 Hibernate 402.5.2 TopLink 422.5.3 Apache OJB 422.6 其他开源框架 432.6.1 与Log相关的开源框架 432.6.2 OSCache 442.6.3 Commons-DBCP数据库连2.6.3 接池 452.7 GoF的23种设计模式 45 第3章 安装和配置iBATIS源码 483.1 安装和配置iBATIS SQL Map3.1 源码环境 483.2 安装和配置iBATIS DAO3.2 源码环境 503.3 安装和配置iBATIS JPetStore3.3 源码环境 513.3.1 iBATIS JPetStore源码环境3.3.1 配置 513.3.2 创建iBATIS JPetStore的3.3.1 应用 533.3.3 安装iBATIS JPetStore的3.3.1 MySQL数据库 533.3.4 安装MySQL数据库的管理3.3.1 工具 583.3.5 配置成功的标志 60 第二部分 iBATIS DAO框架 源码剖析 第4章 iBATIS DAO体系结构和第4章 实现 644.1 iBATIS DAO基本结构 644.1.1 Java EE核心设计模式4.1.1 --DAO模式介绍 654.1.2 iBATIS DAO包文件和组件4.1.1 结构 664.1.3 使用iBATIS DAO工作4.1.1 流程 674.2 iBATIS DAO外部接口和4.2 实现 684.2.1 iBATIS DAO框架外部4.2.1 接口 684.2.2 iBATIS DAO Template API4.2.2 结构和说明 694.3 DAO配置文件读取 724.3.1 dao.xml的格式说明 724.3.2 dao.xml文件的读取过程 734.3.3 如何验证dao.xml文件 824.3.4 dao.xml配置文件实例4.4.1 说明 844.4 iBATIS DAO引擎实现 874.4.1 DAO业务实现的序列图和4.4.1 说明 874.4.2 iBATIS DAO组件管理 904.4.3 iBATIS DAO事务管理4.4.1 实现 944.5 基于iBATIS DAO SqlMap的4.5 实例说明 1244.6 读取源码的收获 132 第三部分 iBATIS的底层平台--iBATIS SQL Map的分析 第5章 iBATIS SQL Map体系结构 第5章 和剖析 1345.1 SQL Map实现的功能和5.1 原理 1345.2 SQL Map组件的包结构和5.2 文件结构 1365.3 SQL Map的组件结构 137 第6章 SQL Map配置信息的读取 1396.1 XML文件的验证处理 1396.1.1 XML验证处理的3.3.1 通用模式 1396.1.2 iBATIS SQL Map的XML6.1.2 验证 1426.2 解析SQL Map配置文件 1456.2.1 SqlMapConfig.xml的格式3.3.1 说明 1456.2.2 SqlMapConfig.xml文件读取3.3.1 总体说明 1476.2.3 基于设计模式中策略模式3.3.1 的数据执行 1526.2.4 基于递归和路径来实现配置3.3.1 文件的全部遍历 1576.2.5 XmlParserState对象在解析3.3.1 SQL Map XML配置文件的3.3.1 协调者角色 1596.2.6 配置的一级门面3.3.1 SqlMapConfiguration3.3.1 实例化对象 1626.2.7 一级应用门面3.3.1 SqlMapExecutorDelegate3.3.1 实例化对象 1646.2.8 SQL Map配置文件中节点3.3.1 解析的通用处理 1656.2.9 数据库事务节点的解析和3.3.1 转化 1676.2.10 配置文件其他节点的3.3.1 解析和转化 1706.3 解析SQL Map映射文件 1786.3.1 SQL Map XML映射3.3.1 文件格式 1786.3.2 SQL Map XML映射文件3.3.1 读取总体说明 1826.3.3 XmlParserState对象解析3.3.1 SQL Map映射文件的3.3.1 协调者角色 1856.3.4 cacheModel节点的解析3.3.1 和转化 1876.3.5 parameterMap节点的解析3.3.1 和转化 1946.3.6 resultMap节点的解析3.3.1 和转化 2006.3.7 statement类型节点的解析3.3.1 和转化 2126.3.8 对SQL的处理 2236.4 抽象出通用的XML解析6.4 框架 2296.5 读取源码的收获 235 第7章 SQL Map引擎实现框架 2367.1 SQL Map引擎实现框架的7.1 组成 2367.2 业务运行过程和介绍 2397.2.1 总体业务运行过程序3.3.1 列图 2397.2.2 系统总体运行简化说3.3.1 明图 2407.3 业务实现类的分析 2427.3.1 业务实现类 2437.3.2 配置信息类 2547.3.3 运行状态信息类 2567.4 业务实现分析 2587.4.1 业务实现两个阶段的3.3.1 分析 2587.4.2 查询类业务实现过程 2597.4.3 单事务业务操作实现3.3.1 过程 2647.4.4 联合事务处理实现过程 2667.4.5 存储过程的处理 2727.4.6 批处理及其实现 2757.4.7 全局JTA事务的处理 2777.4.8 全局外部事务的处理 2787.4.9 用户自定义数据库3.3.1 Connection处理 2797.5 读取源码的收获 280 第8章 SQL Map数据库处理 2818.1 SQL Map的transaction8.1 Manager 2828.1.1 Java事务简介 2828.1.2 SQL Map的transaction3.3.1 Manager概述 2828.1.3 SQL Map事务管理的3.3.1 设计模式 2838.2 系统如何调用事务管理和8.2 SQL Map事务策略 2858.2.1 SQL Map如何调用事务 2858.2.2 Java事务类型 2868.2.3 SQL Map中JDBC事务3.3.1 实现 2908.2.4 SQL Map中JTA事务3.3.1 实现 2938.2.5 SQL Map的External事务3.3.1 实现 2978.2.6 SQL Map的用户事务3.3.1 实现 2988.3 SQL Map的DataSource8.3 策略 2988.3.1 关于DataSource的说明 2988.3.2 SQL Map的DataSource3.3.1 结构和内容 3008.3.3 SIMPLE策略的实现 3028.3.4 DBCP策略实现 3028.3.5 JNDI策略实现 3048.4 SQL Map自定义DataSource8.4 实现 3068.4.1 DataSource接口的结构 3068.4.2 实现DataSource的设计3.3.1 思路 3068.4.3 SimpleDataSource设计和3.3.1 实现 3088.5 SQL Map扩展DataSource8.5 为C3P0 3228.6 SQL Map如何进行批处理 3248.7 SQL Map事务隔离的实现 3278.7.1 JDBC事务隔离概述 3278.7.2 SQL Map的事务隔离的3.3.1 实现 3288.8 SQL Map事务状态的实现 3298.9 读取源码的收获 330 第9章 SQL Map中Mapping实现 3329.1 ParameterMap框架及其9.1 说明 3339.1.1 ParameterMap总体框架3.3.1 说明 3339.1.2 ParameterMap组件中各个3.3.1 类介绍 3349.1.3 ParameterMap框架如何3.3.1 工作 3359.2 ResultMap框架及其说明 3389.2.1 ResultMap框架介绍 3389.2.2 ResultMap框架说明 3399.2.3 ResultMap中的类说明 3409.2.4 ResultMap框架是如何3.3.1 工作的 3419.2.5 如何实现子查询 3429.2.6 延迟加载的实现 3459.3 Statement框架及其说明 3489.3.1 Statement介绍 3489.3.2 Statement框架总体结构 3499.3.3 Statement组件中的类3.3.1 介绍 3509.3.4 MappedStatement是如何3.3.1 工作的 3549.3.5 Statement缓存的实现 3619.3.6 自动生成的主键 3639.4 Sql框架及其说明 3679.4.1 Sql接口框架 3679.4.2 SqlChild接口框架 3689.4.3 Sql接口方法 3689.4.4 静态SQL的实现 3699.4.5 简单动态SQL的实现 3709.4.6 动态SQL语言的实现 3729.5 数据对象转换框架及其9.5 说明 3799.5.1 DataExchange组件作用、3.3.1 内容和设计模式 3809.5.2 Accessplan组件的3.3.1 设计模式 3939.5.3 DataExchange和Accessplan3.3.1 在系统中如何实现 3999.6 读取源码的收获 404 第10章 SQL Map缓存管理和实现 40510.1 SQL Map缓存结构和组成 40610.2 系统如何使用缓存 40710.2.1 缓存实现的序列图和3.3.1 说明 40710.2.2 CacheModel类缓存的3.3.1 实现 40910.2.3 唯一性CacheKey对象的3.3.1 产生 41110.3 缓存策略的程序实现 41210.3.1 FIFO缓存实现 41310.3.2 LRU缓存实现 41510.3.3 MEMORY缓存实现 41710.3.4 OSCACHE缓存实现 42010.4 扩展缓存策略--增加先进10.4 后出缓存策略 42210.5 读取源码的收获 425 第11章 TypeHandler类型转化 42611.1 Java的数据类型的说明 42611.2 TypeHandler组件的框架11.2 结构 42711.3 TypeHandlerFactory的结构、11.3 作用和实现 42811.3.1 TypeHandlerFactory的3.3.1 别名处理 42811.3.2 TypeHandlerFactory容器3.3.1 的数据类型转化 43011.4 TypeHandler的实现 43111.4.1 一般类型的处理 43311.4.2 Sql类型的处理 43411.4.3 通用类型的处理 43611.4.4 定制数据类型的转化 43811.5 读取源码的收获 440 第12章 iBATIS常用工具的实现 44112.1 Resources工具 44112.1.1 资源加载 44112.1.2 实例化类并缓存 44512.2 Bean管理 44712.2.1 ClassInfo类 44712.2.2 Probe接口及其实现 45312.3 Log管理 46812.4 调试信息工具 47212.5 ScriptRunner的应用 47212.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


编辑推荐

  iBATIS——目前主流的ORM框架  Java软件设计师、架构师案头必备参考用书

图书封面

图书标签Tags

广告

下载页面


iBATIS框架源码剖析 PDF格式下载



相关图书