IDEA 建立mybatis-plus项目出现"Invalid bound statement (not found)"如何处理

首先这个问题是怎么出现的

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxxx

  • 语法错误 (xml的标签与接口方法不对应)
  • 参数类型错误 (xml的传参参数与返回参数错误)
  • 编译错误 (xml并没有编译进去)
  • 配置错误 (配置参数漏了或者写错了
  • xml资源路径错误 (这是重点,如果不细心的话,很难找到问题所在)

重点说明资源路径为什么会错


某一次照常建立关于mybatis-plus的项目,然后运行自定SQL的时候突然出现这篇文章提到的问题。花了好几天都是这个错误,尝试改配置、重新建立项目同样是这种问题。唯独这个xml写的自定义sql无法执行,其他方法都是能够正常执行的。

后面发现IDEAresources新建文件夹的时候使用mapper.systemmapper/system他们展示的结构都是一样的,然而这两者的意义却不一样。mapper.system相当于这个文件夹就是这个名字,而mapper/system是建立二级目录,而那个配置文件没法识别mapper.system,所以问题这个是微不足道的细节导致的。

总结

这个问题困扰我好几天,后面找到问题所在,才发现是这个细节问题。后续开发一定要细心,否则会吃大亏。