
为什么会报这样的错误呢?
那是因为maven项目的加载机制造成的 , maven项目默认只加载java文件夹下的源码文件和resource文件夹下的配置文件 , 而在java文件夹下的xml配置文件无法加载 , 在target目录中看不到xml文件


出现Invalid bound statement (not found): com.starcpdk.edu.eduservice.mapper.EduCourseMapper.getPublishCourseInfo这样的报错如何解决呢?
解决方式有三种
- 将xml配置文件直接复制到tagart目录中
- 将xml文件放到resources目录下 , 这样xml文件就可以加载到target目录中了
- 在pom配置文件和application配置文件中添加如下配置(推荐)
<!-- 项目打包时会将java目录中的*.xml文件也进行打包 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
<include>**/*.xml</include>中的**表示多层目录 , 因为xml文件在很多层目录下 , xml文件在com.starcpdk.edu.eduservice.mapper.xml目录下 , 如果*则表示一级目录 , *.xml是通配符

添加application.properties配置文件配置
#配置mapper xml文件的路径
mybatis-plus.mapper-locations=classpath:com/starcpdk/edu/eduservice/mapper/xml/*.xml
classpath:com/starcpdk/edu/eduservice/mapper/xml/*.xml中路径要写成自己xml文件所在的路径

target目录:

与开始的target目录比较多了一个xml文件目录
最后
以上就是多情钢笔最近收集整理的关于maven项目操作mapper.xml文件报错解决的全部内容,更多相关maven项目操作mapper内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复