HibernateTemplate的用法以及作用

HibernateTemplate作用:从字面上意思我们就知道他是一个模板,然后我们又知道hibernate是一个对象关系映射的框架,所以我们很容易联想到他的功能就是将Hibernate 的持久层访问模板化。或者我们直接叫他为hibernate的持久化模板。

HibernateTemplate用法:

1、直接用,在实现类中继承HibernateDaoSupport类,然后this.getHibernateTemplate()直接获取到HibernateTemplate对象,就可以调用HibernateTemplate中封装的一些方法了。

2、不过这样用起来在系统中比较麻烦,每次都要在DAO的实现类中继承HibernateDaoSupport,我们可以对HibernateTemplate进行再次封装,java嘛都是这样封装 封装 继承 继承 抽象抽象  然后就多态了   。

下面我就直接上代码了 --对HibernateTemplate的再次封装实现公用的增删改查调用

<!--导入的架包-->

import java.io.Serializable;

import java.util.List;

public interface GenericDAO<T, ID extends Serializable> {

List<T> find(T var1);

ID save(T var1);

void remove(T var1);

void update(T var1);

/。。。。。。可以写其它一些系统业务需要的方法 ,这里我就只写增删改查。。。。。。。/

}

<!--实现类-->

<!--架包-->

import java.io.Serializable;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

import java.util.List;

public class GenericDAOSpringImpl<T, ID extends Serializable> extends HibernateDaoSupport implements GenericDAO<T, ID> {

public ID save(T newInstance) {
Serializable id = this.getHibernateTemplate().save(newInstance);
this.getHibernateTemplate().flush();//强行的写入数据库
return id;
}

public void remove(T instance) {
this.getHibernateTemplate().delete(instance);
this.getHibernateTemplate().flush();
}

public void update(T instance) {
this.getHibernateTemplate().update(instance);
this.getHibernateTemplate().flush();
}

public List<T> find(T instance) {
return this.getHibernateTemplate().findByExample(instance);
}

}

原文地址:https://www.cnblogs.com/panca/p/10711332.html