欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

springboot使用事务

程序员文章站 2022-07-07 10:39:04
...
1.maven加相关依赖,让项目能使用spring boot和mybatis

2.只需在需要执行事务的方法上加上注释即可
@Transactional(rollbackFor = {RuntimeException.class, Error.class})
public void dealMessage() {
    dao.insert1("1");
    dao.insert2("2");
}
等insert2执行完,事务才完成,数据库才能看到有2条数据插入。
如果insert2报错了,则事务会回滚,数据库不会插入任何数据。

3.如果项目配置了多数据源,事务只使用默认那个数据源
@Bean
@Primary
public DynamicDataSource dataSource(@Qualifier("ds1Write") DataSource ds1Write, @Qualifier("ds1Read") DataSource ds1Read) {
    Map<Object, Object> targetDataSources = new HashMap<>();
    targetDataSources.put(DataSourceType.ds1Write, ds1Write);
    targetDataSources.put(DataSourceType.ds1Read, ds1Read);

    DynamicDataSource dataSource = new DynamicDataSource();
    dataSource.setTargetDataSources(targetDataSources);
    设置默认的数据源为ds1Write
    dataSource.setDefaultTargetDataSource(ds1Write);

    return dataSource;
}

 

相关标签: springboot 事务