开发手册的这一部分关注于中间层开发,并明确描述了这一层的数据访问职责。
首先,详细阐述了Spring全面的事务管理支持,随后,详细说明了Spring Framework如何支持多种中间层数据访问的框架和技术。
第 9 章 事务管理
第 10 章 DAO支持
第 11 章 使用JDBC进行数据访问
第 12 章 使用ORM工具进行数据访问
目录
- 9. 事务管理
- 9.1. 简介
- 9.2. 动机
- 9.3. 关键抽象
- 9.4. 使用资源同步的事务
- 9.4.1. 高层次方案
- 9.4.2. 低层次方案
- 9.4.3.
TransactionAwareDataSourceProxy
- 9.5. 声明式事务管理
- 9.5.1. 理解Spring的声明式事务管理实现
- 9.5.2. 第一个例子
- 9.5.3. 回滚
- 9.5.4. 为不同的bean配置不同的事务语义
- 9.5.5.
<tx:advice/>
有关的设置
- 9.5.6. 使用
@Transactional
- 9.5.7. 事务传播
- 9.5.8. 通知事务操作
- 9.5.9. 结合AspectJ使用
@Transactional
- 9.6. 编程式事务管理
- 9.6.1. 使用
TransactionTemplate
- 9.6.2. 使用
PlatformTransactionManager
- 9.7. 选择编程式事务管理还是声明式事务管理
- 9.8. 与特定应用服务器集成
- 9.8.1. IBM WebSphere
- 9.8.2. BEA WebLogic
- 9.8.3. Oracle OC4J
- 9.9. 常见问题的解决方法
- 9.9.1. 对一个特定的
DataSource
使用了错误的事务管理器
- 9.10. 更多的资源
- 10. DAO支持
- 10.1. 简介
- 10.2. 一致的异常层次
- 10.3. 一致的DAO支持抽象类
- 11. 使用JDBC进行数据访问
- 11.1. 简介
- 11.1.1. 选择一种工作模式
- 11.1.2. Spring JDBC包结构
- 11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理
- 11.2.1.
JdbcTemplate
类
- 11.2.2.
NamedParameterJdbcTemplate
类
- 11.2.3.
SimpleJdbcTemplate
类
- 11.2.4.
DataSource
接口
- 11.2.5.
SQLExceptionTranslator
接口
- 11.2.6. 执行SQL语句
- 11.2.7. 执行查询
- 11.2.8. 更新数据库
- 11.2.9. 获取自动生成的主键
- 11.3. 控制数据库连接
- 11.3.1.
DataSourceUtils
类
- 11.3.2.
SmartDataSource
接口
- 11.3.3.
AbstractDataSource
类
- 11.3.4.
SingleConnectionDataSource
类
- 11.3.5.
DriverManagerDataSource
类
- 11.3.6.
TransactionAwareDataSourceProxy
类
- 11.3.7.
DataSourceTransactionManager
类
- 11.3.8. NativeJdbcExtractor
- 11.4. JDBC批量操作
- 11.4.1. 使用JdbcTemplate进行批量操作
- 11.4.2. 使用SimpleJdbcTemplate进行批量操作
- 11.5. 通过使用SimpleJdbc类简化JDBC操作
- 11.5.1. 使用SimpleJdbcInsert插入数据
- 11.5.2. 使用SimpleJdbcInsert来获取自动生成的主键
- 11.5.3. 指定SimpleJdbcInsert所使用的字段
- 11.5.4. 使用SqlParameterSource提供参数值
- 11.5.5. 使用SimpleJdbcCall调用存储过程
- 11.5.6. 声明SimpleJdbcCall使用的参数
- 11.5.7. 如何定义SqlParameters
- 11.5.8. 使用SimpleJdbcCall调用内置函数
- 11.5.9. 使用SimpleJdbcCall返回的ResultSet/REF Cursor
- 11.6. 用Java对象来表达JDBC操作
- 11.6.1.
SqlQuery
类
- 11.6.2.
MappingSqlQuery
类
- 11.6.3.
SqlUpdate
类
- 11.6.4.
StoredProcedure
类
- 11.6.5.
SqlFunction
类
- 11.7. 参数和数据处理的基本原则
- 11.7.1. 为参数设置SQL类型信息
- 11.7.2. 处理BLOB 和 CLOB对象
- 11.7.3. 在IN语句中传入一组参数值
- 11.7.4. 处理复杂类型的存储过程调用
- 12. 使用ORM工具进行数据访问
- 12.1. 简介
- 12.2. Hibernate
- 12.2.1. 资源管理
- 12.2.2. 在Spring容器中创建
SessionFactory
- 12.2.3. The
HibernateTemplate
- 12.2.4. 不使用回调的基于Spring的DAO实现
- 12.2.5. 基于Hibernate3的原生API实现DAO
- 12.2.6. 编程式的事务划分
- 12.2.7. 声明式的事务划分
- 12.2.8. 事务管理策略
- 12.2.9. 容器资源 vs 本地资源
- 12.2.10. 在应用服务器中使用Hibernate的注意事项
- 12.3. JDO
- 12.3.1. 建立
PersistenceManagerFactory
- 12.3.2.
JdoTemplate
和JdoDaoSupport
- 12.3.3.
基于原生的JDO API实现DAO
- 12.3.4. 事务管理
- 12.3.5.
JdoDialect
- 12.4. Oracle TopLink
- 12.4.1.
SessionFactory
抽象层
- 12.4.2.
TopLinkTemplate
and
TopLinkDaoSupport
- 12.4.3. 基于原生的TopLink API的DAO实现
- 12.4.4. 事务管理
- 12.5. iBATIS SQL Maps
- 12.5.1.
创建SqlMapClient
- 12.5.2.
使用
SqlMapClientTemplate
和 SqlMapClientDaoSupport
- 12.5.3. 基于原生的iBATIS API的DAO实现
- 12.6. JPA
- 12.6.1. 在Spring环境中建立JPA
- 12.6.2.
JpaTemplate
和 JpaDaoSupport
- 12.6.3. 基于原生的JPA实现DAO
- 12.6.4. 异常转化
- 12.7. 事务管理
- 12.8.
JpaDialect