1. 程式人生 > >SSH(六)hibernate持久層模板於事務管理

SSH(六)hibernate持久層模板於事務管理

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持久層模板於事務管理