1. 数据源情况
- 涉及不同数据库:mysql、postgresql
- 没有用 mybatis-plus 自带的多数据源,因为涉及多子模块的项目引用,需要动态修改扫描实现

- 定义了两个事务管理器

2. 问题描述
- mybatis-plus ServiceImpl 基类上,对于增删改方法添加了事务配置,这个时候如果不指定用哪个事务管理器,会提示存在多个,不知道用哪个的提示

- 这个需要怎么处理,学艺不精,哪位大神指点一下,感谢!



1
chenshun00 Feb 8, 2020
用过几天的 mybatis-plus , 最后的感觉是多引入一个组件就多一个组件的麻烦, :) 增大了团队的负担. 而且团队没有人深入了解这个. 出了问题只能自己刷源码一点一点搞.
|
2
whnoob OP @chenshun00 也算是初期阶段,自己在折腾,不过遇见了这个问题,之前试过只用 mybatis,倒是无所谓,可以搞,不过用这个第三方之后,事务这个搞不太明白
|
3
hantsy Feb 8, 2020
JTA
|
4
BBCCBB Feb 8, 2020
@Transactional 里指定要用到的那个事务管理器
|
7
BBCCBB Feb 8, 2020
在方法上加 @Transactional 注解, 然后指定, 覆盖掉类上的 @Transactional 注解.
|
9
guisheng Feb 8, 2020 via iPhone
我有 4 个数据源 一个数据源一个配置文件.java 然后为每个数据源 指定一个方法 然后使用 @transactional 注解有个 ref 还是 manager 的参数
|
10
whnoob OP @guisheng 也是用的 mybatis plus 吗?是在继承 ServiceImpl 的类上加的 @transactional ?
|
12
whnoob OP @guisheng 试过了,自己写的方法加上 @transactional 是可以数据源不同生效事务,不过对于 mybatis plus 自己的 ServiceImpl 里面的方法,就不知道怎么处理了
|
13
whnoob OP 换了个别的方式,用类似 IService 方式自定义了接口,按照业务逻辑做了一些常见的公共 Ctrl 层方法,暂时解决了这个问题,等待大佬看能不能有这个相似技术选型的解决方式
|