HibernateDaosupport,HibernateCallback,HibernateTemplate的用法

来源:互联网 发布:我爱你韩国知乎 编辑:程序博客网 时间:2024/05/07 10:02
HibernaeTemplate提供了Hibernate操作的 很多方法,不需要得到session,关闭事务等操作,可以在spring中的bean中配置,记得配置hibernate的bean时传入sessionFactory的的注入方式,即
  1. <!-- dao的操作的bean -->  
  2.     <bean id="customerDaoImpl" class="cn.csdn.dao.CustomerDaoImpl">  
  3.         <!-- 注入依赖模板 -->  
  4.         <property name="hibernateTemplate" ref="hibernateTemplate" />  

  1.         </bean>  
  2. 然后在对应的Custom..Impl上有个
    1.  设置hibernateTemplate属性  
    2.     private HibernateTemplate hibernateTemplate;  
    3.   
    4.     // 必须设置set方法  
    5.     public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {  
    6.         this.hibernateTemplate = hibernateTemplate;  
    7.     }  ,这样就完成注入了
    8. 。然后HibernateCallback的出现据说以前是为了解决HibernateTemplate不能分页的问题,有两个主要方法Object execute(Hibernate action)和List executeFind(HibernateCallback action),可以像下面那样子用(下面的类首先实现HibernateDaosupport,原因在最下面)
    9. List list=getHibernateTemplate().executefind(new HibernateCallback(){
    10. public Object doInHibernate(Session session){//这样就可以访问到session了。。。。
    11. }
    12. });
    13. HibernateDaoSupport提供了public final HibernateTemplate getHibernateTemplate()//可以得到hibernatTemplate模板,pulic final void setSessionFactory(SessionFactory sessionFactory)。然后就可以通过getHibernateTemplate方便的操作CRUD的操作了。以上就是三者的区别,可能会有些错误,完全是为了自己理解的。

0 0
原创粉丝点击