Spring为不同持久化技术所提供的模板类
Spring为各种支持的持久化技术都提供了简化操作的模板和回调,在回调中编写具体的数据操作逻辑,使用模板执行数据操 作,在Spring中,这是典型的数据操作模式。下面,我们来了解一下Spring为不同的持久化技术所提供的模板类。
表 3 不同持久化技术对应的模板类
ORM持久化技术 模板类
如果你使用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的,其目的是希望被继承使用,而非直接使用。