[Spring3.x] 第 11 章 使用 Spring JDBC 访问数据库 & 第 12 章 整合其他 ORM 框架

第 11 章 使用 Spring JDBC 访问数据库
 (1), Spring JDBC 是 Spring 所提供的持久层技术。它的主要目的是降低使用 JAVASE JDBC API 的门槛,不需处理繁杂而乏味的工作。
     ORM 框架已经成熟丰富,但 JDBC 的灵活性更直接,如在完全依赖数据库配置产生查询方案的综合查询系统,ibatis,hiberbate都无法使用。
 (2), 除了标准的 JdbcTemplate 之外,Spring 还提供了两个 JDBC 模板类,它们分别是 NamedParameterJdbcTemplate 和SimpleJdbcTemplate
第 12 章 整合其他 ORM 框架
 内容 :
   (1), Spring 对 ORM 框架整合的基本思想
   (2), Spring 中使用 iBatis 重点。
   (3), 如何在 Spring 封装的基础上进行 DAO 层的基础设计

 12.1 Spring 整合 ORM 技术 (JPA, Hibernate, iBatis, JDO)
  Spring 在 资源管理,DAO模板类,事务管理,DAO异常体系等方面,Spring始终保持整合方式上的统一。在 Spring 中掌握了一种持久化技术后,切换到另一种持久化技术并不需要花费什么代价。
 *** Spring 所提供的 ORM 整合方案,我们可以获得许多好处
  (1), 方便基础设施的搭建
    不同的 ORM  技术都有一套自己的方案以初始化框架,搭建基础设施等。在搭建基础设施中,数据源是必有的资源。
   在数据源基础上,不同的 ORM 框架拥有自己的基础实例,如 iBatis 的 SqlMapClient,它们是 ORM 程序运行时的底层设施,在程序级别代表着 ORM 框架本身。Spring 为不同的 ORM 框架提供相应的 FactoryBean,用以初始化 ORM 框架的基础设施。可当成普通的 Bean 对待,差别只是属性不同而已。
  (2), 异常封装
    Spring 能转换各种 ORM 框架所抛出的异常,将 ORM 框架专有的或检查型异常转换为 Spring DAO 体系的标准异常。
  (3), 统一的事务管理
    基于 Spring DAO 模板风格,遵循 Spring,就可使用 Spring 提供的事务管理功能。
  (4), 允许混合使用多个 ORM 框架
    Spring 在 DAO 异常,事务,资源等高级层次建立了抽象,可以让 Service 业务层 对 DAO 具体实现技术不敏感。
  (5), 方便单元测试
    Spring 容器使得替换不同的实现和配置变得非常简单。这样,可很容易的隔离并测试不同的 DAO 类。
 12.3 在 Spring 中使用 myBatis
   使用 iBatis 提供的 ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的 Java 对象。iBatis 要求开发者编写具体的 SQL 语句
   ,iBatis 在 SQL 开发的工作量和数据库移植性上做出了让步,为数据持久化操作提供了更大的自由空间。
   
   事务管理可以由 Spring 标准机制进行处理,对于 mybatis 而言没有特别的事务策略,它采用 和 Spring JDBC 相同的
 DataSourceTransactionManager 事务管理器。
原文地址:https://www.cnblogs.com/robbychan/p/3786497.html