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路径改为我的外置的路径,配置文件一顿修改正确好,可以了,问题解决了!!!

相关推荐
WeiXin_DZbishe12 分钟前
基于Springboot+AI的kuall音乐广场的设计与实现-计算机毕设 附源码【课程设计】12715
vue.js·人工智能·spring boot·后端·python·php·课程设计
A接拉起00729 分钟前
2026 年 JavaScript 开发者需要了解的知识
前端·javascript·后端
Bazingga43 分钟前
RAG评测体系保姆级教程:生产级实践指南
后端
tachibana22 小时前
使用for range 的时候,它的地址会发生变化吗?
开发语言·后端·golang·go·语法
AIGC小尼2 小时前
毕设实战|SpringBoot+Vue 实现多个系统项目
vue.js·spring boot·课程设计
蜗牛互联网2 小时前
GPT-6 与 Intelligent UI:从回答到可审计操作的产品迁移
java·人工智能·后端
王中阳Go3 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
IT_陈寒3 小时前
Vite热更新失效?你可能也踩了这个坑
前端·人工智能·后端
行百里er3 小时前
Redis 模块——JSON、向量搜索与时序
redis·后端
光依旧3 小时前
发版就掉请求?Spring Boot优雅停机的四步
运维·spring boot·nginx·高可用·优雅停机·mcp server