springboot项目中mapper.xml文件找不到的三种解决方案
通常mapper文件找不到会报这种异常:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
主要是因为使用maven在编译项目时,会默认不打包java文件夹下的xml文件 所以我们在执行时 会报上面的异常
最近自己遇到了这种问题 查资料啥的找到了以下
三种解决方式

1.如果你的mapper映射文件也是放在 Java文件下
你可以直接在项目编译后 把mapper文件复制到
编译后的target文件夹下对应的文件中去

在mapper文件下新建一个xml文件夹 把xml文件复制到这里面来即可,不过每次都这样也挺麻烦的
2.在pom.xml中配置
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
表示 maven在打包时不会过滤src/main/java文件夹下的xml文件
在application.properties文件中配置
#配置mapper xml文件的路径 mybatis-plus.mapper-locations=classpath:com/lcx/educms/mapper/xml/*.xml
项目重新编译后 查看你的target文件 会发现它把xml文件 打包进去了

3.把xml文件放在resources文件下

在application.properties文件中配置
#配置mapper xml文件的路径 mybatis-plus.mapper-locations=classpath:/mapper/*.xml
同样这种方式也可以
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Java数据结构与算法之双向链表、环形链表及约瑟夫问题深入理解
这篇文章主要介绍了Java数据结构与算法之双向链表、环形链表及约瑟夫问题深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-09-09
SpringCloud和Spring Cloud Alibaba的使用及区别说明
SpringCloud和SpringCloudAlibaba都是基于SpringFramework的分布式系统开发框架,但它们分别来自不同的社区和生态,功能上有一些区别,以下是它们的主要差异2026-01-01


最新评论