SpringBoot中调用mybatis方法提示映射文件未找到Invalid bound statement(not found)的奇葩解决

场景

若依前后端分离版手把手教你本地搭建环境并运行项目:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662

做业务开发时新建某个表并调用代码生成的mapper方法查询list时,

之前突然好用的方法,突然提示:

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ruoyi.system.mapper.BusDeviceMapper.selectBusDeviceList

at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:229)

at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:53)

at org.apache.ibatis.binding.MapperProxy.lambdacachedInvoker0(MapperProxy.java:96)

at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)

at org.apache.ibatis.util.MapUtil.computeIfAbsent(MapUtil.java:36)

at org.apache.ibatis.binding.MapperProxy.cachedInvoker(MapperProxy.java:94)

at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:86)

根据典型的报错xml不匹配问题,问了AI,排查了常规如下原因:

  1. 检查 Mapper XML 文件位置

Maven 项目:确保 XML 文件在正确位置

方式一:放在 src/main/resources/mapper/ 目录下

方式二:与 Mapper 接口同包(如 src/main/java/com/ruoyi/system/mapper/)

  1. 检查 application.yml 配置

mybatis:

mapper.xml 文件位置

mapper-locations: classpath*:mapper/**/*.xml

或者

mapper-locations: classpath*:com/ruoyi/**/mapper/*.xml

实体类包路径

type-aliases-package: com.ruoyi.system.domain

  1. 检查 Mapper 接口和 XML 的命名空间

4、常见排查步骤

清理并重新编译:

mvn clean compile

检查 target 目录:查看编译后的 classes 目录下是否有 XML 文件

IDE 刷新:在 IDEA 中执行 File -> Invalidate Caches and Restart

检查方法名:确认 XML 中的 id="selectBusDeviceList" 与接口方法名完全一致(包括大小写)

常规排查后仍然不生效,开始往下面的思路怀疑

问题出现在往实体类中添加了几个数据库不存在的字段后。

那就:

标记非数据库字段

在新增的字段上添加 @TableField(exist = false)

仍然不生效。

再经过各种什么mybatis与mybatisplus共存问题、@Mapper接口问题各种排查后,

还是不行,最后就算把新增的字段去掉恢复了代码还是不行。

那就可能根代码没啥关系了,因为之前的代码是能正常启动访问的。

最终去查找maven的问题。

果然IDEA中的Maven设置被改成了默认的C盘的配置文件了。

然后将maven路径改为我的外置的路径,配置文件一顿修改正确好,可以了,问题解决了!!!

相关推荐
云恒要逆袭1 小时前
Hello World背后的秘密:Java程序是这样运行的
java·后端·程序员
蝎子莱莱爱打怪2 小时前
XZLL-IM干货系列 01|万字拆解分布式 IM 架构:7 个微服务 + 自研 Flutter SDK
java·后端·面试
亦暖筑序2 小时前
Java 8老系统旁路接入AI Gateway:不升级JDK也能用AI
java·spring boot·aigc·企业架构·ai gateway
Elaine3362 小时前
基于Django框架的静态个人名片网站设计
后端·python·django·mvt
道友可好2 小时前
3 个人,100 万行代码,一行都没人写:OpenAI 的 Harness Engineering 实验
前端·人工智能·后端
Yeats_Liao3 小时前
8:Servlet生命周期-Java Web
后端
Soofjan3 小时前
其它(5):Bleve 全文检索
后端
Gopher_HBo3 小时前
Go语言学习笔记(七)并发
后端
智碳未来科技有限公司3 小时前
工业双碳实践:基于 SpringBoot + 若依的智碳能源管理系统(zhitan-ems)源码深度解析与落地实战
spring boot·后端·能源
biubiubiu07063 小时前
SpringBoot生产级日志配置
java·spring boot·后端