项目中创建mapper接口,编写xml文件sql语句后,执行报错
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ren.edu.mapper.EduCourseMapper.getPublishCourseInfo
第一:首先看看是不是接口中的方法名与sql语句中的id值是否相同
第二:可能这个错误是由maven默认加载机制造成的问题
maven加载的时候,把java文件夹里面(.java)类型的文件进行编译,如果其他类型文件,比如(xml)文件则不会被加载到target文件夹下
解决办法:
-
复制xml文件到target目录中
-
把xml文件放到resources目录中,会改变目录结构
-
推荐使用(不改变目录结构):通过配置实现
-
在pom.xml文件中加上如下内容:
<build> <!--项目打包时会将java目录中的*.xml文件也进行打包--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
-
在SpringBoot中配置文件application.properties或者application.yml文件中加上
# 配置mapper.xml文件的路径 mybatis-plus.mapper-locations=classpath:com/ren/edu/mapper/xml/*.xml
-