mybatis plus配置多数据源时批量接口调用失败以及解决方案
表现
仅配置单个数据源时,mybatis plus的save/saveBatch接口调用正常
配置多个数据源、动态切换时,mybatis plus的save接口调用正常,saveBatch调用失败,报错如下
1 | org.apache.ibatis.exceptions.PersistenceException: |
原因
配置动态数据源之后,我在配置对象中mapper xml文件夹配置没有区分开,不同数据源的mapper都放到了同一个文件夹中,即不同的
1 | // 设置mapper.xml文件的路径 |
我这里之前都两个数据源mapper配置的是classpath:mapper/*.xml
解决
不同数据库的xml放到不同文件夹下即可:
数据源1
1 | // 设置mapper.xml文件的路径 |
数据源2
1 | // 设置mapper.xml文件的路径 |
即可解决。