zoukankan      html  css  js  c++  java
  • 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);
    }

    }

  • 相关阅读:
    ConcurrentDictionary内部机制粗解
    c# class struct区别
    virtualbox安装增强功能时【未能加载虚拟光盘】
    【C++】 友元函数friend
    C++命名空间(namespace)(转载)
    C++中memset()用法
    C++ 虚函数和纯虚函数的区别
    C++中栈和堆上建立对象的区别(转载)
    c++继承
    C++构造函数和析构函数
  • 原文地址:https://www.cnblogs.com/panca/p/10711332.html
Copyright © 2011-2022 走看看