在用了 springboot 和 mybatis-plus很久之后, 有一天突然看到配置文件有点繁杂, 想将相同的配置拉到application.yml里, 就在将配置拉过去后, 问题就开始出现了.
在调用 baseMapper.method 的时候, 一直报 Invalid bound statement (not found), 有几个mapper能调用, 有几个mapper无法调用 && 其中的一个项目能打开, 另外的两个项目打不开, 配置都是一模一样, 并且在同一个包里的 mapper, 有的行,有的不行, 当时就觉得还有这种操作(我就惊呆了)....... 找了整整两天的时间都没发现问题所在, 虽然大致猜测是 mybatis-plus 导致的原因, 但在这两天时间里也找了各种方法, maven 添加路径什么的, 安装了插件也能跟踪到 xml 里方法, 但一运行调用, 就是 匹配不到 mapper ????
最后终于在 https://github.com/abel533/Mapper/issues/319 找到了解决方法.
在配置里将 : classpath:/mapper/*Mapper.xml 修改为 classpath*:/mapper/*Mapper.xml
修改后的 classpath 后面加了个 * 号.
导致这个问题的原因是, 在多个模块下都有 mapper, xml 文件. 最初的话是只有一个模块有, 就在几天前(没错,出事的那天)加了个新模块, 也包含了数据库操作的 mapper 和 xml, 然后这个配置就出问题了.
so, 多模块都有db操作的话, 需要写成 classpath* 才不会导致上面的 Invalid bound statement (not found) 问题.
原文地址: https://www.cnblogs.com/wuhaonan/p/11511977.html
这次的内容到这里就结束了,最后的最后,非常感谢你们能看到这里!!你们的阅读都是对作者的一次肯定!!!觉得文章有帮助的看官顺手点个赞再走呗(终于暴露了我就是来骗赞的(◒。◒)),你们的每个赞对作者来说都非常重要(异常真实),都是对作者写作的一次肯定(double)!!!