Spring Boot2.0之多数据源事务管理

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

这样启动时候会报错!

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

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

请看当前目录结构:

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

扫描二维码关注公众号,回复: 3636358 查看本文章

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

 同理可得:

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;
  }
}

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

猜你喜欢

转载自www.cnblogs.com/toov5/p/9820116.html
今日推荐