1、问题:编写xml实现数据库操作时,出现错误:
**org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): **
出现这个问题,要么是接口与xml找不到,要么是找到了却匹配不到。检查编译后的文件发现是找不到xml文件。
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.zr.eduservice.mapper.EduCourseMapper.getPublishInfo
at com.baomidou.mybatisplus.core.override.PageMapperMethod$SqlCommand.<init>(PageMapperMethod.java:261)
at com.baomidou.mybatisplus.core.override.PageMapperMethod.<init>(PageMapperMethod.java:58)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.cachedMapperMethod(PageMapperProxy.java:70)
at com.baomidou.mybatisplus.core.override.PageMapperProxy.invoke(PageMapperProxy.java:63)
at com.sun.proxy.$Proxy114.getPublishInfo(Unknown Source)
at com.zr.eduservice.service.impl.EduCourseServiceImpl.publishCourseInfo(EduCourseServiceImpl.java:128)
由于maven的默认加载机制,只会把src-main-java文件夹中的java类型文件进行加载,其他文件不会加载,所以在dao层和mapper中的xml文件映射时,会找不到xml映射文件。
2、解决方法:
1)复制xml文件到target对应的目录下
2)通过配置文件进行配置,让maven默认加载xml文件
在pom.xml进行配置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>