springboot使用事务

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值