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;
}
上一篇: C语言使用注意事项(四)
下一篇: SpringBoot中使用事务
推荐阅读
-
python 使用正则表达式按照多个空格分割字符的实例
-
WPS演示使用动作设置结合触发器做到根据情况显示不同课件内容
-
SpringBoot框架集成MybatisPlus开发讲解
-
手把手教你使用 virtualBox 让虚拟机连接网络的教程
-
Vue中 Vue.component() 的使用
-
SpringBoot整合rabbitmq实现mqtt订阅/发布之功能
-
jquery click([data],fn)使用方法实例介绍_jquery
-
C++ —— 非类中使用const定义常量的初始化,以及#define和typedef的区别
-
学习python的第十八天(模块导入及使用,关键字,模块搜索路径,python文件的两种用途)
-
eureka-使用