通过注解来改变配置mapper的数据源

如题所示,项目原本已经对一些mapper设置了数据源

如下所示

@MapperScan(basePackages = {"cn.com.aia.aam.core.**.mapper", "cn.com.aia.aam.core.*.*.mapper", "cn.com.aia.aam.core.*.*.*.mapper", "cn.com.aia.aam.sync.*.mapper"},
        sqlSessionFactoryRef = MAINDEV_SF)

然后再通过AOP切面的形式来实现多数据源切换,但是在方法上使用注解和要切换数据源发现,已经可以正确获取到数据源但是并没有成功切换。
两个数据源测试均连接正常

按道理应该用mybatis的拦截器实现,不是用aop实现

需要做两个动作:
1、使用AbstractRoutingDataSource来封装你的两个dataSource,以实现按需切换:
https://www.baeldung.com/spring-abstract-routing-data-source
mybatis的sqlSessionFactoryRef指向这个新的代理dataSource

2、自定义注解,利用AOP机制来执行上述的按需切换