SSH(六)hibernate持久層模板於事務管理
阿新 • • 發佈:2017-06-22
property ted 保存 actor brush work session name cti
持久層只要完成數據對數據庫增刪改查的操作,我們常說的hibernate區別於mybatis是在於他的全自動,而hibernate的全自動則主要體現於
他的模板,一些簡單的數據操作我們就不用再去手寫sql了,可以通過對hibernate模板的配置去完成。
一、在dao中註入hibernate模板
1.1在dao層繼承spring提供的hibernate模板
修改實體product類,讓他繼承HibernateDaoSupport如圖:
1.2在applicationcontext.xml中配置dao層註入hibernate模板
<!-- 配置dao層:註入hibernate模板 --> <bean id="productDao" class="com.ssh.dao.productDao"> <!-- ref 值與sessionFactory bean id保持一致 --> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
1.3在dao層調用hibernate模板完成數據操作:(模板調用this.getHibernateTemplate().)
public void sava(product product){ System.out.println("業務層調用dao層成功!"); //調用hibernate模板完成保存數據操作 this.getHibernateTemplate().save(product); }
二、添加事務管理
2.1配置事務管理
<!-- 配置事務管理器 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
2.2開啟事務管理
<!-- 開啟註解事務 --> <tx:annotation-driven transaction-manager="transactionManager"/>
[email protected]
SSH(六)hibernate持久層模板於事務管理