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

相关推荐
LaLaLa_OvO16 分钟前
mybatis 引用静态常量
java·mybatis
yaodong51817 分钟前
Spring 中使用Mybatis,超详细
spring·tomcat·mybatis
splage26 分钟前
Spring Cloud Data Flow 简介
后端·spring·spring cloud
woniu_maggie28 分钟前
SAP RESTful 接口服务发布教程
后端
用户2794208313229 分钟前
临时解决 Mac SSH 客户端与服务器算法不匹配问题
后端
小锋java123432 分钟前
LangChain4j 来了,Java AI智能体开发再次起飞。。。
java·人工智能·后端
一点一一32 分钟前
nestjs+langchain:Prompt Template
人工智能·后端
Oneslide37 分钟前
低版本kubernetes节点卡死重置恢复方法
后端
spring2997921 小时前
Spring Boot 实战篇(四):实现用户登录与注册功能
java·spring boot·后端
Rust语言中文社区1 小时前
【Rust日报】Clone:像进程一样 fork 虚拟机的 Rust KVM VMM
开发语言·后端·rust