由于Hibernate集成了JDBC,所以在访问数据库时,与直接使用JDBC访问数据库相比,Hibernate在连接、访问数据库时的代码减少了很大一大半。但由此而来也相应必须增加访问Hibernate配置文件和SessionFactory、Session的打开、关闭的代码。为了解决以上相同代码出现的复用问题,Hibernate对此又进行了再一次封装,于是,幸运地出现了HibernateDaoSupport。因此,在使用HibernateDaoSupport模板对数据库访问时,更加方便、简单,特别是进行简单的增删改查。

    下面是我自己写的一点代码参考:

 
  
  1. /**  
  2.  * @author wifygoo  
  3.  * 对企业信息的简单增删改查。  
  4.  */ 
  5. public class EnterpriseDaoImpl extends HibernateDaoSupport implements 
  6.         EnterpriseDao {  
  7.     /**  
  8.      * @param Enterprise  
  9.      * 删除某条企业信息。  
  10.      */ 
  11.     public void del(Enterprise enterprise) {  
  12.         this.getHibernateTemplate().delete(enterprise);  
  13.     }  
  14.     /**  
  15.      * @return 所有的企业信息。  
  16.      * 查询所有的企业信息。  
  17.      */ 
  18.     @SuppressWarnings("unchecked")  
  19.     public List<Enterprise> findAllEnterprises() {  
  20.         String hql = "from Enterprise enterprise";  
  21.         return this.getHibernateTemplate().find(hql);  
  22.     }  
  23.     /**  
  24.      * @param Integer,企业编号。  
  25.      * @return 某个企业信息。  
  26.      * 通过企业编号查询企业信息。  
  27.      */ 
  28.     public Enterprise findEnterpriseById(Integer id) {  
  29.         return (Enterprise) this.getHibernateTemplate().load(Enterprise.class, id);  
  30.     }  
  31.     /**  
  32.      * @param Enterprise  
  33.      * 添加企业信息。  
  34.      */ 
  35.     public void save(Enterprise enterprise) {  
  36.         this.getHibernateTemplate().save(enterprise);  
  37.     }  
  38.     /**  
  39.      * @param Enterprise  
  40.      * 修改企业信息。  
  41.      */ 
  42.     public void update(Enterprise enterprise) {  
  43.         this.getHibernateTemplate().update(enterprise);  
  44.     }  

    另一个实现功能差不多的封装类是:HibernateTemplate。这里不赘述。视自己爱好而使用。