• SSH(六)hibernate持久层模板于事务管理


      持久层只要完成数据对数据库增删改查的操作,我们常说的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

  • 相关阅读:
    python+selenium环境搭建以及遇到的坑
    (二)第一个测试用例
    (一)TestNG介绍与安装
    Appium详解server capabilities
    Mac安装MySQL数据库
    POI 设置单元格样式
    JAVA_HOME环境变量失效的解决办法
    svn linux 命令
    StringUtils工具类的常用方法
    ArrayUtils 方法
  • 原文地址:https://www.cnblogs.com/ckxlovejava/p/7062329.html
Copyright © 2020-2023  润新知