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);
      }
  • 相关阅读:
    JavaScript的执行
    关于k阶裴波那契序列的两种解法
    科普 eclipse中的Java build
    [BZOJ 1037] 生日聚会Party
    [POJ 1185] 炮兵阵地
    [POJ 1935] Journey
    [POJ 2397] Spiderman
    [POJ 2373][BZOJ 1986] Dividing the Path
    [POJ 3378] Crazy Thairs
    [POJ 2329] Nearest number-2
  • 原文地址:https://www.cnblogs.com/hmhhz/p/9584082.html
Copyright © 2011-2022 走看看