【已解决】Spring Boot多数据源的时候,mybatis报错提示:Invalid bound statement (not found)

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2023-09-22 14:26
  • 1783人已阅读
简介 在使用SpringBoot配置多数据源的时候,测试新添加数据源报错:org.apache.ibatis.binding.BindingException:Invalidboundstatement(notfound):com.kaigejava.sysrole.mapper.SysRoleMapper.insert从错误原因上来看,是说找不到对应的sql语句。但是,凯哥(公众号:凯哥Java)确实

🔔🔔好消息!好消息!🔔🔔

 如果您需要注册ChatGPT,想要升级ChatGPT4。凯哥可以代注册ChatGPT账号代升级ChatGPT4

有需要的朋友👉:微信号 kaigejava2022

在使用Spring Boot配置多数据源的时候,测试新添加数据源报错:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.kaigejava.sysrole.mapper.SysRoleMapper.insert

6a6a100f46979670f3bb10e84d26db5e.png


从错误原因上来看,是说找不到对应的sql语句。但是,凯哥(公众号:凯哥Java)确实有啊,为什么呢 ?

分析原因:
查看两个数据源配置信息:

master数据源配置:

设置了MapperScan的扫描包;

使用了@Primary注解

50003d8d64c72a65a62325e55adf6307.png

测试master数据源,插入、查询都正常。

但是,第二个数据源就错误了。

查看第二个数据源的配置:4d384345f64e1c6c32a84d519d20b688.png

发现问题了吧。

新数据源扫描的包竟然也是com.kaigejava.*mapper。这样当然有问题了。果断修改新数据源扫描包路径是:applicationmapper.9e69364296f25c9627e14c500482843a.png

这样对应上就可以了。配置完成之后,继续测试新数据源插入,测试OK。

60fb8f6f7841696152abaa6e0619f985.png

TopTop