• 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);
      }
  • 相关阅读:
    如何制作a2sd+
    WinForm/Silverlight多线程编程中如何更新UI控件的值
    c#如何操作cookie
    Windows Mobile CookieContainer
    Microsoft.Practices.EnterpriseLibrary.Data 数据库操作
    获取手机卡imei和imsi信息
    winform 分页控件
    asp.net 导出数据到Excle
    asp.net异步调用
    shell脚本中常用命令
  • 原文地址:https://www.cnblogs.com/hmhhz/p/9584082.html
Copyright © 2020-2023  润新知