baomidou-mybatis将大量方法封装,在自己的service类中的方法中利用DynamicDataSource切换数据源却失败了,原因是updateBatchById方法调用了updateById
代码位置
org.apache.ibatis.executor.BatchExecutor
doUpdate方法中利用
Connection connection = getConnection(ms.getStatementLog());
进行数据源获取
调试发现
ms.getStatementLog()
调用DAO下的updateById,而我们覆盖了updateBatchById切换数据源是无效的,需要重新覆盖updateById进行数据源切换。
而Spring里interface写注解是没有用的,最后发现自己写一个方法,调用super.updateBatchById即可