这个接口定义了对InfoObject的RUCD各项操作。
4. 创建DAO层的实现。本示例的DAO层实现,我们采用了Hibernate,按通常的实现,我们需要先得到Hibernate的session对象,然后调用session对象的save,delete,update等方法来实现对数据对象的CRUD操作,但由于Spring框架已经提供了对Hibernate框架的良好支持,使我们不再需要再头痛于Hibernate的session管理,事务管理等方面,这些Spring框架已经进行了很好的封装,我们只需要将我们的Hibernate实现类继承HibernateDaoSupport类,然后通过调用HibernateTemplate类上的方法,就可以实现我们需要的数据对象访问的操作。代码如下:
代码清单4:
package com.ibm.sample.dao.hibernate;
public class InfoObjectDAOHibernate extends
HibernateDaoSupport implements IInfoObjectDAO {
public InfoObjectDAOHibernate(){
super();
}
public InfoObject saveInfoObject(InfoObject info) {
getHibernateTemplate().saveOrUpdate(info);
return info;
}
public InfoObject getInfoObjectById(Long infoId){
InfoObject info =
(InfoObject) getHibernateTemplate().load(InfoObject.class, infoId);
return info;
}
public void removeInfoObject(Long infoId) {
InfoObject info = getInfoObjectById(infoId);
getHibernateTemplate().delete(info);
}
public List getAllInfoObjects() {
return getHibernateTemplate().loadAll(InfoObject.class);
}
}
5.通过配置,将Spring框架与Hibernate框架结合使用。
如果你以前使用过Hibernate,你现在该感到有些迷惑:使用Hibernate框架的时候,需要提供的hibernate.cfg.xml配置文件应该放在哪里呢?为了使Spring框架能够真正的感知到Hibernate对象,为其添加事务管理,SessionFactory管理等功能,我们需要添加一个Spring的配置文件,而且,Spring提供了一个便捷的方式-----在Spring内部配置中并入了Hibernate的hibernate.cfg.xml配置文件。首先在Sample项目的JavaSource/dao目录下,建立文件applicationContext-hibernate.xml,在文件中添加如下内容:
代码清单5:
destroy-method="close">
class="org.springframework.orm.hibernate.LocalSessionFactoryBean"> key="hibernate.dialect">net.sf.hibernate.dialect.MySQLDialect
class="com.ibm.b2e.app.itsubsystem.dao.hibernate.InfoObjectDAOHibernate">
[8] [9]
