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.面向对象设计思想
后端
IT_陈寒14 分钟前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
systemPro1 小时前
2.6亿条设备数据,历史查询从超时到50ms,我做了什么
后端
要阿尔卑斯吗1 小时前
提示词优化启示:为什么“按顺序输出“比“关键度评分“更有效
后端
她的男孩2 小时前
后台接口加密别只会 HTTPS,ForgeAdmin 的 RSA + SM4/AES 源码拆解
后端·面试·开源
Java陈序员2 小时前
企业级!一个基于 Java 开发的开源 AI 应用开发平台!
spring boot·agent·mcp
极光技术熊2 小时前
Spring AI 从入门到精通:构建你的 AI 开发知识体系
后端·github
程序员cxuan2 小时前
一句话,让你用上 GPT-5.6
人工智能·后端·程序员
远航_2 小时前
OpenSpec 完整详细介绍
前端·后端
AskHarries2 小时前
不用公网 IP,把 Windows 和 Linux 服务器放进同一个局域网:Tailscale 组网实战
后端