解决 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): 报错
一般的原因是Mapper interface和xml文件的定义对应不上,需要检查包名,namespace,函数名称等能否对应上。
如检查上述需要注意的点没有问题,往下看。。
错误原因是由maven默认加载机制造成的问题
maven 加载时,把java文件夹里面java类型文件进行编译,如果是其他类型文件则不会被加载,不会编译xml文件,所有找不到。
target目录下找不到xml文件
解决方法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
两处配置都完成后,重新启动项目,就好了