spring in action 5.spring的数据访问

API:java持久化

OO:面向对象

DAO:数据访问对象



设计数据访问层的合理方式:

服务对象-------->DAO接口《======DAO实现

服务对象本身并不会处理数据访问,而是将数据访问委托给DAO。DAO接口确保其与服务对象的松耦合

此外,数据访问层是以持久化技术无关的方式来进行访问的。

持久化方式的选择独立于DAO,只有相关的数据访问方法通过接口来进行发布。


为了实现将数据访问层与应用层程序的其他部分隔离开来,Spring采用的一个方式就是提供贯穿整个DAO框架的统一异常体系

spring为读取和写入数据库的所有错误都提供了异常,但它并没有与特定的持久化方式相关联。

这意味着我们可以使用Spring抛出一致的异常,而不用关心所选择的持久化方案。

spring认为触发异常的很多问题是不能在catch代码块中修复的。Spring使用了非检查型异常DataAccessException


Spring将数据访问过程中固定和可变的部分明确划分为两个不同的类:模版(template)回调(callback)

模版  管理过程中固定的部分回调  处理自定义的数据访问代码

DAO模块                       DAO回调
--------------------------------------------
1.准备资源
2.开始事务 ------------------> 3.在事务中执行
-------------------------------------------
5.提交/回滚事务 <------------- 4.返回数据
6.关闭资源和处理错误


spring 提供的数据访问模版,分别使用与不同的持久化机制

模版(org.springframework.*

用途

jca.cci.core.CciTemplate

JCA CCI链接

jdbc.core.JdbcTemplate

JdbC链接

jdbc.core.namedparam.NamedParameterJdbcTemplate

支持命名参数的JDBC

jdbc.core.simple.SimpleJdbcTemplate

Java5简化后的JDBC链接

orm.hibernate.HibernateTemplate

Hibernate2.x Session

orm.hibernate3.HibernateTemplate

Hibernate3.x Session

orm.ibatic.SqlMapClientTemplate

iBATIS SqlMap 客户端

orm.jdo.JdoTemplate

Java数据对象实现

orm.jpa.JpaTemplate

Java持久化API的实体管理器










-----------------------------------------------未完待续-------------------每天更新--------------------------------------

原文地址:http://blog.csdn.net/kldxcr/article/details/22084635

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值