springBoot +mybatis-plus多数据源问题

在springBoot框架中搭配使用mybatis-plus框架,项目中由于是两个数据库,就配置了多数据源,真正使用时,会发现各种各样的问题,其中遇到一个问题,就是调用mybaits-plus自带的IService时,不管在seriveImpl实现类中是否加上注解@DataSource,都不生效,只有重新写一个接口,比如叫MyService,重写IService,然后业务接口都extends MyService,特别注意,要在MyService上加上注解@DataSource,还有MyServiceImpl上也要加上注解@DataSource,这样就可以解决多数据源下无法切换数据源,无法操作数据库的问题。

另外一个问题是即使业务接口也继承了MyService,但是当切换数据源后,还是报表不存在,后来从一个道友那里学习到,是事务问题,链接来自https://blog.csdn.net/chengmeng_123/article/details/85048890,主要原因是事务是在connection层面管理的,启用事务后,一个事务内部的connection是复用的,所以就算AOP切了数据源字符串,但是数据源并不会被真正修改。@Transactional这个注解不能用,用了,就不能使用多数据源。

以此记录下,学习中......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值