zoukankan      html  css  js  c++  java
  • Spring Boot2.0之多数据源事务管理

    结合前面做的小项目,如果我把test01 test02下面的 service 都加了 事务的注解

    这样启动时候会报错!

    事务管理器里面不能有两个事务!!!!

    这时候需要用  @Transactional(transactionManager="test1TransactionManager")  指定事务管理器

    请看当前目录结构:

    DataSource1Config代码里面有声明事务管理器的名字的!

     然后我们这个项目多个数据源、多个事务

     同理可得:

    package com.toov5.test02.service02;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;
    import org.springframework.transaction.annotation.Transactional;
    
    import com.toov5.test02.mappertest02.UserMapperTest02;
    
    import lombok.extern.slf4j.Slf4j;
    
    @Service
    @Slf4j
    public class UserService02 {
      @Autowired
      private UserMapperTest02 userMapperTest02;
      
      @Transactional(transactionManager="test2TransactionManager")
      public int insertUser(String name, Integer age){
         int result = userMapperTest02.insert(name, age);
          log.info("####################",result);
          return result;
      }
    }

     当失败时候,会进行回滚从而不会写入到数据库中

  • 相关阅读:
    预热buffer pool
    MySQL · 性能优化· InnoDB buffer pool flush策略漫谈
    事务并发控制
    LOAD DATA INFILE – performance case study
    隐式锁
    percona-xtrabackup安装
    mysql 表空间及索引的查看方法
    mysql用户权限
    mysql修改数据库名
    MySQL对innodb某一个表进行移动
  • 原文地址:https://www.cnblogs.com/toov5/p/9820116.html
Copyright © 2011-2022 走看看