持久层只要完成数据对数据库增删改查的操作,我们常说的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"/>
2.3在业务层引入事务管理机制@Transactional
