springboot_mybatis plus 通过aop切换多数据源,dabaseid无效

提问 0 1404
larry
larry VIP3 2020-07-22
版本:renren-cloud 3.0.0 开发环境:
springboot_mybatis plus 不同mapper(mysql,oracle) 通过aop切换多数据源,dabaseid无效 问题描述: 项目使用springboot+mybatis plus+DynamicDataSource(继承AbstractRoutingDataSource) 通过aop自定义注解,在项目运行中动态改变当前线程切换数据源。resource资源文件下mapper通过oracle/mysql 根据mybatis databaseid 进行动态区分数据库,执行对应的sql语句 数据库:一个mysql数据库和oracle数据库。进行动态切换。 多数据源切换都是没有问题的,就是手动设置mybatis dabaseid 不生效 在网上查了一个: a(https://ask.csdn.net/questions/666602?sort=id)[https://ask.csdn.net/questions/666602?sort=id] 项目中设置了不起作用: sqlSessionFactoryBean.getConfiguration().setDatabaseId("oracle"); 主数据源是mysql,从数据库是 mysql和oracle img[//cdn.renren.io/ba7f6202007221317095702.png] img[//cdn.renren.io/6734c202007221317158811.png] img[//cdn.renren.io/a9b65202007221317311024.png] img[//cdn.renren.io/d2991202007221317364203.png] img[//cdn.renren.io/db7ee202007221317458846.png] img[//cdn.renren.io/e9610202007221317492041.png] img[//cdn.renren.io/ca1c6202007221317552188.png] 这里通过aop设置crm oracle数据源 读取的还是 mysql配置。没有动态切换. 下面主数据源设置为oracle,然后重启项目,这里读取的就是oracle。: 如果主数据源和次数据与 都设置相同的mysql,就没有问题,不同的数据库 databaseid 就切换不过去 img[//cdn.renren.io/2f49320200722131827731.png]
回帖
  • 消灭零回复