解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 报错

解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 报错

一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。
如检查上述需要注意的点没有问题,往下看。。

错误原因是由maven默认加载机制造成的问题
maven 加载时,把java文件夹里面java类型文件进行编译,如果是其他类型文件则不会被加载,不会编译xml文件,所有找不到。
target目录下找不到xml文件
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 报错

解决方法1: 复制xml文件到target目录中,

解决方法2:把xml文件放到resources目录中(不推荐,打乱了项目结构)

解决方法3:(推荐)通过配置解决
(1)pom.xml
在pom文件中,添加如下节点

!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>  <!--两个 **  代表多层目录-->
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>

(2) 在 application.properties 配置文件中添加配置代码
在springBoot配置中添加如下代码

#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/test(自己的路径)/mapper/xml/*.xml

两处配置都完成后,重新启动项目,就好了
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 报错

上一篇:C++模板编程里的主版本模板类、全特化、偏特化(C++ Type Traits)


下一篇:Mysql和JDBC