springboot对个多目录设置事务
时间: 2023-06-01 08:05:16 浏览: 59
SpringBoot 支持多数据源,可以对各自的数据源进行事务的设置。具体实现可以使用注解 @Transactional。
在对应的 Service 方法上加上 @Transactional 注解,并指定数据源的对应名称,就可以实现多数据源的事务处理。
例如,有两个数据源 dataSourceOne 和 dataSourceTwo,可以分别设置对应的事务:
```java
@Service
public class MultiDataSourceService {
@Autowired
@Qualifier("dataSourceOne")
private DataSource dataSourceOne;
@Autowired
@Qualifier("dataSourceTwo")
private DataSource dataSourceTwo;
@Autowired
private JdbcTemplate jdbcTemplate;
@Transactional(value = "transactionManagerOne",rollbackFor = Exception.class)
public void insertByDataSourceOne(User user){
String sql = "INSERT INTO user(name, age) VALUES(?, ?)";
jdbcTemplate.update(sql, user.getName(), user.getAge());
}
@Transactional(value = "transactionManagerTwo",rollbackFor = Exception.class)
public void insertByDataSourceTwo(User user){
String sql = "INSERT INTO user(name, age) VALUES(?, ?)";
jdbcTemplate.update(sql, user.getName(), user.getAge());
}
}
```