项目中创建maven接口,编写xml文件sql语句,执行出现错误
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.atzexu.eduservice.mapper.EduCourseMapper.getPublishCourseInfo
xml文件在java目录下
原因
这个错误是maven默认加载机制造成问题
maven加载的时候,把java文件夹里面的.java类型文件进行编译,其他类型文件不会进行加载
解决
方法一:
直接将xml复制到target文件目录下(这种方法用的不多)
方法二:
直接将xml放在resource目录下(目录结构是通过代码自动生成的,这种方法会改变文件结构)
方法三:
通过配置实现
(1)pom.xml
<!-- 让maven加载main.java目录下的xml文件 --> <build> <resources> <resource> <directory>src/main/java</directory> <!-- 加载什么类型的文件 --> <includes> <include>**/*.xml</include> </includes> <filtering>false</filtering> </resource> </resources> </build>
(2)项目application.properties
设置xml文件所在的路径
# 配置mapper xml文件的路径 mybatis-plus.mapper-locations=classpath:com/xxx/eduservice/mapper/xml/*.xml
注:pom和properties都需要进行配置