商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

Spring DAO层的设计思想


    Spring为不同持久化技术所提供的模板类
    Spring为各种支持的持久化技术都提供了简化操作的模板和回调,在回调中编写具体的数据操作逻辑,使用模板执行数据操    作,在Spring中,这是典型的数据操作模式。下面,我们来了解一下Spring为不同的持久化技术所提供的模板类。
    表 3 不同持久化技术对应的模板类
    ORM持久化技术 模板类
    JDBC org.springframework.jdbc.core. JdbcTemplate 
    Hibernate org.springframework.orm.hibernate.HibernateTemplate
    Hibernate 3.0 org.springframework.orm.hibernate3.HibernateTemplate
    iBatis org.springframework.orm.ibatis.SqlMapClientTemplate
   JPA org.springframework.orm.jpa.JpaTemplate
    JDO org.springframework.orm.jdo.JdoTemplate
    TopLink org.springframework.orm.jpa. JpaTemplate
    如果你使用JDK 5.0或以上版本,则可以使用jdbc.core.simple.SimpleJdbcTemplate的模板类,该模板类使用了泛型和不定入数的技术,使模板的功能更加强大,更易于使用。
    如果,我们直接使用模板类,一般都需要在DAO中定义一个模板对象并提供数据资源,Spring为每一个持久化技术都提供了支持类,支持类中已经为我们完成这样的功能。这样,我们只需要扩展这些支持类就可以直接编写实际的数据访问逻辑,没有须臾的阻隔。
    不同持久化技术的支持类如表 4所示: 

ORM持久化技术

 

支持类

 

JDBC

 

org.springframework.jdbc.core. JdbcDaoSupport

 

Hibernate

 

org.springframework.orm.hibernate.HibernateDaoSupport

 

Hibernate 3.0

 

org.springframework.orm.hibernate3.HibernateDaoSupport

 

iBatis

 

org.springframework.orm.ibatis.SqlMapClientDaoSupport

 

JPA

 

org.springframework.orm.jpa.JpaDaoSupport

 

JDO

 

org.springframework.orm.jdo.JdoDaoSupport

 

TopLink

 

org.springframework.orm.jpa. JpaDaoSupport

 

表 4 持久化技术的支持类 

     ORM持久化技术 支持类
    JDBC org.springframework.jdbc.core. JdbcDaoSupport
    Hibernate org.springframework.orm.hibernate.HibernateDaoSupport
    Hibernate 3.0 org.springframework.orm.hibernate3.HibernateDaoSupport
    iBatis org.springframework.orm.ibatis.SqlMapClientDaoSupport
    JPA org.springframework.orm.jpa.JpaDaoSupport
    JDO org.springframework.orm.jdo.JdoDaoSupport
    TopLink org.springframework.orm.jpa. JpaDaoSupport
    这些支持类都继承于dao.support.DaoSupport类,DaoSupport实现了InitializingBean接口,在afterPropertiesSet()接口方法中检查模板对象和数据源是否被正确设置,否则将抛出异常。
所有的支持类都是abstract的,其目的是希望被继承使用,而非直接使用。
    小结
    Spring 支持目前大多数常用的数据持久化技术,Spring定义了一套面向DAO层的异常体系,并为各种支持的持久化技术提供了异常转换器。这样,我们在设计DAO接口时,就可以抛开具体的实现技术,定义统一的接口。
不管采用何种持久化技术,访问数据的流程是相对固定的。Spring将数据访问流程划分为固定和变化两部分,并以模板的方式定义好流程,用回调接口将变化的部分开放出来,留给开发者自行定义。这样,我们仅需要提供业务相关的逻辑就可以完成整体的数据访问了。Spring为了进一步简化持久化模板类的调整,为各种持久化技术提供了使用模板的支持类,支持类不但包含数据访问模板,还包含数据源或会话。通过扩展支持类定义自己的数据访问类是最简单的数据访问方式。

1 2 3 4 5 6
【内容导航】
第1页: 第1页 第2页: 第2页
第3页: 第3页 第4页: 第4页
第5页: 第5页 第6页: 第6页
©版权所有。未经许可,不得转载。
[责任编辑:赵恒]