zoukankan      html  css  js  c++  java
  • SpringMVC 手动控制事务提交 【转】

    1、配置文件 applicationContext.xml:

    <bean id="txManager"
    class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
    p:dataSource-ref="dataSource"/>

    2、在需要加事务的方法上加上

    DataSourceTransactionManager transactionManager = (DataSourceTransactionManager) ctx
    .getBean("txManager");
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔离级别,开启新事务,这样会比较安全些。
    TransactionStatus status = transactionManager.getTransaction(def); // 获得事务状态
    try {
    //逻辑代码,可以写上你的逻辑处理代码
    transactionManager.commit(status);
    } catch (Exception e) {
    transactionManager.rollback(status);
    }

     

    这是在有 ApplicationContext 的情况下、
     

    3.ApplicationContext 不存在的情况下

     

       @Autowired
    
        private DataSourceTransactionManager txManager;
    
     
    
       DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    
       def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);// 事物隔离级别,开启新事务
    
       TransactionStatus status = txManager.getTransaction(def); // 获得事务状态
    
      try{
           //逻辑代码,可以写上你的逻辑处理代码
          txManager.commit(status);
      }catch(Exception e){
          txManager.rollback(status);
      }
  • 相关阅读:
    [Android学习笔记]Activity
    [Android学习笔记]Activity,View,Windows简介
    [Android]Eclipse的使用
    [Cocos2d-x]解决Android平台ndk-build时不自动删除外部库
    [Cocos2d-x]Android的android.mk文件通用版本
    [C++][STL]string记录
    nyoj-103-A+B Problem II
    nyoj-95-众数问题
    nyoj-187-快速查找素数
    nyoj-8-一种排序
  • 原文地址:https://www.cnblogs.com/hmhhz/p/9584082.html
Copyright © 2011-2022 走看看