Mybatis报BindingException:Invalid bound statement (not found)异常
创始人
2025-05-30 08:55:43

一、前言

本文的mybatis是与springboot整合时出现的异常,若使用的不是基于springboot,解决思路也大体一样的。

二、从整合mybatis的三个步骤排查问题

但在这之前,我们先要知道整合mybatis的三个重要的工作,如此才能排查,且往下看。

2.1 pom.xml配置**Mapper.xml文件的构建路径

我们打开pom文件如下:

 src/main/javafalse**/*.xmlsrc/main/resourcesfalse***/*.xml

这部分代码的作用是指定需要编译到taget目录下的资源文件。我们的程序运行,都是执行编译好的taget目录下的内容,若taget里找不到xml文件资源就会报错Invalid bound statement (not found)。

每个人的项目配置都可能有些区别,但在这里我们只需要关注标签即可。还有对于不同的项目,xml的存放位置也可能不同,有的存在于src/main/java代码下,有的存在于src/main/resources。

**/*.xml
这行代码是用于构建存在于src/main/java代码中的xml文件。


**/
.xml
这行代码是用于构建存在于src/main/resources代码中的所有文件。

上述,我们可以排查第一个可能抛出Invalid bound statement (not found)异常的情况,我们可以通过查看编译好的taget目录,如下:

情况一:

原代码文件目录:
在这里插入图片描述

编译失败的情况:
在这里插入图片描述

编译成功的情况:
在这里插入图片描述
情况二:
源代码文件目录:
在这里插入图片描述

编译失败:
在这里插入图片描述

编译成功:
在这里插入图片描述

有时,一直编译不成功,那就将taget重新删除,再编译。

2.2 配置mapper类的包扫描路径

这个步骤与Invalid bound statement (not found)异常无关,但是它也是整合mybatis重要的步骤之一,这里也说明一下,有两种方式实现,可根据自己的项目情况使用。(两者择其一)

通过注解的方式扫描:
在这里插入图片描述

通过配置类方式扫描:
在这里插入图片描述

这个步骤的目的是将我们定义的mapper类装配到我们的ioc容器中。

若没有扫描,启动时就会直接报找不到mapper的错误,无法运行项目。

2.3 application.yml文件中配置**Mapper.xml文件的扫描路径

值得一说的是,这一步骤的扫描是建立在步骤一的基础之上的,若编译好的taget目录都没有目标文件,那这一步骤就更不用说了。

一:

这里的扫描路径配置,还需要注意自己的项目使用的原始mybatis还是mybatis-plus,它们的配置也有区别的,如下:

原始mybatis:

mybatis:mapper-locations: classpath:/cn/anycase/demo/mapper/xml/*Mapper.xml

mybatis-plus:

mybatis-plus:mapper-locations: classpath:cn/anycase/demo/mapper/xml/*.xml

本例用的是mybatis-plus:
在这里插入图片描述

二:
使用mybatis-plus,有时可以省略这个扫描路径的配置,所以我们看到的有些项目少了这个配置,但它并没有错,且能正常运行。(原始mybatis是否也可以,本人未做相关测试,有知道的评论区可以说一声)
在这里插入图片描述

三:
还有一个需要注意的点,前面步骤一说了,mapper.xml文件可能存在于src/main/java代码中,或存在于src/main/resources资源中,因此我们的配置路径也有所不同,如下:
在这里插入图片描述

Invalid bound statement (not found)这个异常,在常规下,通过上述的三个步骤可以百分百解决。但我们都知道,工作中出总会出现各种奇葩异常。下面介绍,且往下看。

未完待续…晚点补充太累了。

三、非常规的Invalid bound statement (not found)异常

3.1 文件名导致的异常

3.2 使用了自定义SqlSessionFactory导致的异常

相关内容

热门资讯

6月5日投资避雷针:7天5板人... 导读:财联社6月5日投资避雷针,近日,A股及海外市场潜在风险事件如下。国内经济信息方面包括:1)本周...
楼市已经触底,明年会回暖吗?国... 我最近一直在研究房地产市场,发现2024年的数据确实挺吓人的: 全国新建商品房销售面积同比下降12....
百亿市值大族数控冲击IPO:5... 瑞财经 王敏 5月30日,据港交所官网,深圳市大族数控科技股份有限公司(以下简称“大族数控”)向港交...
李在明上台,韩国转机将至? 李... 6月4日上午11时许,韩国新任总统李在明在国会正式宣誓就职,开启五年任期。李在明在就职讲话中表示,将...
恒指高开0.74% 恒指高开0... 【恒指高开0.74%】香港恒生指数高开0.74%,恒生科技指数高开0.97%。蔚来涨超3%,阿里巴巴...
V观财报|温氏股份实控人调整,...   中新经纬6月5日电 温氏股份4日晚间公告,公司的实际控制人自2025年6月4日起调整为温鹏程、温...
从蒋雨融哈佛演讲到张雪峰停播,... 教育圈的旋转幽灵模式。最近哈佛很火,先是和特朗普硬刚,接着就是在哈佛毕业演讲的蒋同学。她是哈佛400...
工信部:推动人工智能产业发展和... 6月5日,A股三大指数集体高开后走势震荡。截至发稿,上证科创板人工智能指数涨0.45%。相关ETF方...
降降降!部分中小银行利率跌破国... 继国有行、股份行之后,地方中小银行批量开启降息模式。据不完全统计,截至6月4日下午,已有襄城中原村镇...
招商证券一部门总经理任上被查,... 近日,广东省纪委监委披露,招商证券股份有限公司财富管理及机构业务总部机构业务部总经理高翔涉嫌严重违纪...
马斯克发力炮轰“大漂亮法案” 马斯克发力炮轰“大漂亮法案”,展现出其强硬的态度和对不合理政策的抗争。他以其在科技领域的巨大影响力,...
童天喜“接棒”赵雪松任新掌门,... 中意人寿连续两届董事长均为财务专业出身。文/每日财报 栗佳近日,中意人寿在其官网披露的2025年第一...
港股创新药ETF(159567... 6月5日早盘,港股集体高开。截至发稿,恒生指数涨0.63%,恒生科技指数涨0.65%。相关ETF方面...
爆火!稳定币“热风”席卷,券商... 6月4日,近期引爆资本市场的稳定币概念热度延续,A股稳定币指数涨超1%。个股方面,中科金财涨停,近4...
高盛:人民币汇率变化的背后……... 有多少资讯是真正有用的?FinGraph是中文财经世界唯一一家每日图形化早晚专栏,为专注于全球市场的...
软件革命的起点?信创ETF基金... 今日(6月4日)重仓软件开发行业的信创ETF基金(562030)场内交投活跃,半日成交额3200万元...
蔚来汽车的股东权益都成负数了 “ 蔚来汽车公布了今年一季报,到3月底,蔚来股东权益为-3.66亿人民币,流动资产为497.9亿,而...
蔚来李斌:四季度月销5万辆,不... 文 |李安琪编辑|李勤“我们相信,最低的谷底已经在今年一季度,从今年二季度开始进入到上升通道。”在6...
机票当诱饵?吉祥航空陷造车之困... 吉祥航空,曾以便捷的机票服务为人们所熟知。然而,如今它却陷入了造车的困境之中,仿佛那诱人的机票成了迷...
民营房企化债提速:旭辉境外债重... 界面新闻记者 | 王婷婷 旭辉距离林中说的“活下去、站起来”又近了一步。 5月12日,旭辉控股董事...
长安汽车:间接控股股东将变更为... 长安汽车公告,4日,公司接到兵器装备集团通知,兵器装备集团收到国务院国有资产监督管理委员会通知,经国...
两市融资余额较上一日增加22.... 截至6月4日,上交所融资余额报9075.51亿元,较前一交易日增加10.11亿元;深交所融资余额报8...
亚朵酒店惊现医院枕套,全怪混洗... 6月3日晚间,词条“亚朵酒店被曝出现医院枕套”登上微博热搜,引起网友广泛关注。根据相关消息,近日有网...
克莱尔·吉根的梦幻蓝 克莱尔·吉根的“梦幻蓝”宛如静谧深海中的一抹奇迹。那是一种深邃而神秘的蓝色,仿佛能将人的思绪带入无尽...
这个万亿出行赛道已经打赢“反内... 作为交通工具设备,摩托车受到的关注与行业体量完全不成正比。最大的汽车产业,全球年销量9000万辆与超...
Staycation风潮来了:... 定焦One(dingjiaoone)原创作者 | 王璐编辑 | 魏佳“在酒店吹空调、吃西瓜、躺着追剧...
兵器装备集团实施分立:汽车业务...   中新经纬6月5日电 长安汽车、中光学等7家上市公司5日早间公告,中国兵器装备集团有限公司(以下简...
东风、长安不合并了!将有新汽车... 作 者丨 易思琳 巩兆恩编 辑丨 吴晓宇 江佩佩视 频丨 许婷婷传闻已久的东风、长安合并事宜已中止。...
兵器装备集团实施分立,汽车业务... 6月5日早间,长安汽车(000625)、中光学(002189)、湖南天雁(600698)、华强科技(...
血泪教训!郑州这3类二手房千万... 郑州的二手房市场,呈现出一种“个性分化”的有趣局面。 不同小区,凭借自身的“禀赋”,走出了截然不同的...