当前位置: 首页 > news >正文

[Bug解决] Invalid bound statement (not found)出现原因和解决方法

1、问题描述

在写了一个很普通的查询语句之后,出现了下面的报错信息

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.oauth.mapper.WxVisitorQrBeanMapper.selectByComIdAndEmpId

at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:230) ~[mybatis-3.4.2.jar:3.4.2]

at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48) ~[mybatis-3.4.2.jar:3.4.2]

at org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65) ~[mybatis-3.4.2.jar:3.4.2]

at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58) ~[mybatis-3.4.2.jar:3.4.2]

at com.sun.proxy.$Proxy220.selectByComIdAndEmpId(Unknown Source) ~[na:na]

at com.xxx.oauth.service.UserServiceImpl.getVisitorQR(UserServiceImpl.java:319) ~[classes/:1.0-UNIWIN]

2、问题分析

遇到问题咱先不慌,瞪大眼睛看看报错信息。

报错的关键词是 Invalid bound statement,百度翻译一下,是说绑定语句无效。

这是什么意思呢?

脑袋瓜子飞速转动,大脑CPU超负荷运转。。。

突然灵光一现,怀疑可能是在说mapper接口和mapper.xml文件对应不上

于是找到mapper和mapper.xml所在目录点开看看。

这一看就发现不对劲了,xml对应的命名好像更长一些,在仔仔细细的检查一翻后,发现是xml命名中将小r写成了大写的R。

至此,问题得到解决。

3、问题扩展

为了未雨绸缪,防患于未然,将其它可能导致Invalid bound statement的原因进行整理。

Invalid bound statement 问题的本质是mapper接口和mapper.xml文件映射出错,以下都是可能导致两者映射出错的原因及解决方案:

① mapper.xml中的namespace属性的值和实际的mapper接口的路径不一致。解决办法是瞪大眼睛,仔细检查一下。

② mapper接口中的方法名和mapper.xml中的id属性的值不一致。解决办法是同样是瞪大眼睛,仔细检查一下。

③ 如果以上三种(扩展的两种)情况都排除,那极有可能是target文件夹中,没有将mapper.xml文件编译和构建。针对这种情况, 有两种可能性:

  • 可能一:在xml配置文件中,没有指定Maven 构建过程中需要包含的资源文件。
<!-- 添加配置,避免 mybatis 的mapper.xml文件被漏掉 -->
<resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource>
</resources>

上面的配置是指定.properties和.xml 后缀的配置文件,放在 src/main/resources 目录下,并且在Maven构建过程中,将它们复制到target构建目录中,以便运行时能够被访问到。

  • 可能二:idea在运行时出错了,没有在target中生成xml文件。 这种情况只需 clean删除target文件,然后重新编译启动运行即可。

相关文章:

[Bug解决] Invalid bound statement (not found)出现原因和解决方法

1、问题描述 在写了一个很普通的查询语句之后&#xff0c;出现了下面的报错信息 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.oauth.mapper.WxVisitorQrBeanMapper.selectByComIdAndEmpId at org.apache.ibatis.binding.Mappe…...

Qt:Qt3个窗口类的区别、VS与QT项目转换

一、Qt3个窗口类的区别 QMainWindow&#xff1a;包含菜单栏、工具栏、状态栏 QWidget&#xff1a;普通的一个窗口&#xff0c;什么也不包括 QDialog&#xff1a;对话框&#xff0c;常用来做登录窗口、弹出窗口&#xff08;例如设置页面&#xff09; QDialog实现简易登录界面…...

uni-app判断不同端

大家好&#xff0c;今天给大家分享的知识是在uni-app中如何区分是在什么端操作的程序 话不多说直接上代码&#xff1a; // #ifdef APP-PLUS<view>APP端</view>// #endif// #ifdef H5<view>H5端</view>// #endif// #ifdef MP<view>小程序端</v…...

计算机网络-网络设备防火墙是什么?

一、防火墙基本概念 前面我们学习了交换机、路由器是网络中常用的设备&#xff0c;现实中还有一个很重要的设备-防火墙。防火墙这一设备通常用于两个网络之间有针对性的、逻辑意义上的隔离。在网络通信领域&#xff0c;防火墙是一种安全设备。它用于保护一个网络区域免受来自另…...

Code Composer Studio (CCS) - Breakpoint (断点)

Code Composer Studio [CCS] - Breakpoint [断点] 1. BreakpointReferences 1. Breakpoint 选中断点右键 -> Breakpoint Properties… Skip Count&#xff1a;跳过断点总数&#xff0c;在断点执行之前设置总数 Current Count&#xff1a;当前跳过断电累计值 References […...

人工智能_普通服务器CPU_安装清华开源人工智能AI大模型ChatGlm-6B_001---人工智能工作笔记0096

使用centos安装,注意安装之前,保证系统可以联网,然后执行yum update 先去更新一下系统,可以省掉很多麻烦 20240219_150031 这里我们使用centos系统吧,使用习惯了. ChatGlm首先需要一台个人计算机,或者服务器, 要的算力,训练最多,微调次之,推理需要算力最少 其实很多都支持C…...

分层钱包HD钱包

bc1 开头的通常指的是比特币&#xff08;Bitcoin&#xff09;的地址&#xff0c;这种格式遵循了比特币改进提案BIP 0173中定义的Bech32编码格式。Bech32地址也被称为"SegWit"地址&#xff0c;它们支持Segregated Witness功能&#xff0c;这是比特币网络为了提高区块链…...

基于python+mysql的宠物领养网站系统

功能介绍 平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括&#xff1a;首页、宠物详情页、用户中心模块。后台功能包括&#xff1a;总览、领养管理、宠物管理、分类…...

机器学习入门--门控循环单元(GRU)原理与实践

GRU模型 随着深度学习领域的快速发展&#xff0c;循环神经网络&#xff08;RNN&#xff09;已成为自然语言处理&#xff08;NLP&#xff09;等领域中常用的模型之一。但是&#xff0c;在RNN中&#xff0c;如果时间步数较大&#xff0c;会导致梯度消失或爆炸的问题&#xff0c;…...

GitHub Actions

GitHub Actions GitHub Actions 是 GitHub 提供的一种持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;解决方案。它可以让你在 GitHub 仓库中直接自动化、定制化和执行软件开发工作流程。 比如&#xff0c;当有新的推送到仓库或者新的 Pull Request…...

harmony 鸿蒙系统学习 安装ohpm报错 ohpm install failed

一. 安装配置 DevEco Studio 安装包时报错 execute ohpm install failed. Install task failed: ArkTS 3.2.12.5. Install ArkTS dependencies failed. 解决办法 找原因&#xff0c;首先&#xff0c;我的电脑中之前安装过node&#xff0c;也许是因为这个。&#xff08;其实…...

MySQL Replication

0 序言 MySQL Replication 是 MySQL 中的一个功能&#xff0c;允许从一个 MySQL 数据库服务器&#xff08;称为主服务器或 master&#xff09;复制数据和数据库结构到另一个服务器&#xff08;称为从服务器或 slave&#xff09;。这种复制是异步的&#xff0c;意味着从服务器不…...

redis分布式锁redisson

文章目录 1. 分布式锁1.1 基本原理和实现方式对比synchronized锁在集群模式下的问题多jvm使用同一个锁监视器分布式锁概念分布式锁须满足的条件分布式锁的实现 1.2 基于Redis的分布式锁获取锁&释放锁操作示例 基于Redis实现分布式锁初级版本ILock接口SimpleRedisLock使用示…...

制作一个简单的html网页

1. 特效按钮 2 可以独立使用的一个页面 3 底部小时钟 <!DOCTYPE html> <html> <head><title>Simple Webpage</title><style>/* 禁止鼠标右键 */body {-webkit-touch-callout: none; /* iOS Safari */-webkit-user-select: none; …...

js filter,every,includes 过滤数组

背景&#xff1a; 页面&#xff1a;在项目中遇到的&#xff0c;前端页面显示为&#xff0c;顶部是下拉搜索条件,下面是一个表格&#xff1b; 数据&#xff1a;接口请求一次性拿到所有&#xff1a;搜索条件里的下拉选项和表格中的数据&#xff1b; 现状&#xff1a;需要前端在搜…...

jenkins自动化部署

Jenkins安装 安装前提条件 yum install java-1.8.0-openjdk* git maven -y ​ 1.下载jenkins wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat/jenkins-2.346-1.1.noarch.rpm --no-check-certificate ​ jenkins的安装路径&#xff1a; /var/lib/jenkins/ ​ …...

【JavaScript】分支语句

目录 一、if语句 二、三元运算符 三、switch语句 JS中分支语句可以分为三种&#xff0c;分别是if语句、三元运算符、switch语句。 一、if语句 let num 10 if (num > 20) {console.log("大于20"); } else if (num < 20) {console.log("小于20");…...

【开源】SpringBoot框架开发农家乐订餐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核心代码4.1 查询菜品类型4.2 查询菜品4.3 加购菜品4.4 新增菜品收藏4.5 新增菜品留言 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的农家乐订餐系统&#xff0c…...

OSQP文档学习

OSQP官方文档 1 QSQP简介 OSQP求解形式为的凸二次规划&#xff1a; x ∈ R n x∈R^n x∈Rn&#xff1a;优化变量 P ∈ S n P∈S^n_ P∈Sn​&#xff1a;半正定矩阵 特征 &#xff08;1&#xff09;高效&#xff1a;使用了一种自定义的基于ADMM的一阶方法&#xff0c;只需…...

ONLYOFFICE 8.0:引领数字化办公新纪元

目录 前言 软件安装 软件启动 软件新版本特性 个人评价 总结 前言 在当今快节奏的数字化世界中&#xff0c;高效的办公软件已成为企业竞争力的关键因素。ONLYOFFICE&#xff0c;作为全球领先的办公解决方案提供商&#xff0c;始终致力于通过技术创新来优化用户体验。如今…...

软件测试会被AI取代吗?我用数据告诉你真相

在探讨“取代”之前&#xff0c;我们先看一组具有代表性的数据。根据Gartner的预测&#xff0c;到2027年&#xff0c;80%的企业将把AI驱动的测试工具整合进其测试流程中&#xff0c;目前这一比例仅为大约20%。与此同时&#xff0c;World Quality Report显示&#xff0c;过去五年…...

效率直接起飞 2026 最新!降AIGC工具测评与推荐

2026年真正好用的AI论文降重与改写工具&#xff0c;核心看降重效果、去AI味、格式保留、学术适配四大指标。综合实测&#xff0c;千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队&#xff0c;覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …...

2026 AI 培训机构怎么选?6 类人群精准匹配 + 避坑指南

随着大模型、多模态、RAG、Agent 技术持续迭代&#xff0c;企业对于 AI 算法开发、计算机视觉、自然语言处理、工程落地类人才的需求持续上涨。目前国内主流AI学习平台包含咕泡科技、科大讯飞AI大学堂、腾讯云智学堂、深兰科技人工智能教育等&#xff0c;各家平台技术侧重点、课…...

基于Python + LLM的AI客服协作系统设计与实现

&#x1f9d1;‍&#x1f4bb; 博主介绍 & 诚邀关注 作者&#xff1a;专注于 Java、Python、前端开发的技术博主 | 全网粉丝 30 万 在校期间协助导师完成毕业设计课题分类、论文格式初审及代码整理工作&#xff1b;工作后持续分享毕设思路&#xff0c;助力毕业生顺利完成…...

稀疏记忆微调:面向边缘设备的持续学习落地方法

1. 项目概述&#xff1a;这不是又一篇“加个正则就叫持续学习”的水文“Continual Learning via Sparse Memory Finetuning”——光看标题&#xff0c;你可能以为这是某篇顶会里被塞进附录、连作者自己都懒得细讲的补充实验。但实际翻开原文&#xff0c;它像一把薄刃手术刀&…...

惠普OMEN游戏本性能解放终极指南:OmenSuperHub完全使用教程

惠普OMEN游戏本性能解放终极指南&#xff1a;OmenSuperHub完全使用教程 【免费下载链接】OmenSuperHub 使用 WMI BIOS控制性能和风扇速度&#xff0c;自动解除DB功耗限制。 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 还在为官方Omen Gaming Hub的臃肿和…...

博客从 Ubuntu 16.04 迁移到 FreeBSD:成本减半,性能提升超 10 倍!

Bruno Croci 的网站迁移之旅Bruno Croci 正在为 2026 年柏林的开源硬件峰会做准备。他的博客在 Ubuntu 16.04 上运行了 10 年&#xff0c;于 2026 年 5 月 21 日&#xff0c;他将其迁移到了 FreeBSD。迁移动机&#xff1a;旧系统的安全隐患与成本考量这个博客在 Digital Ocean …...

ColabFold终极指南:5分钟免费预测蛋白质三维结构

ColabFold终极指南&#xff1a;5分钟免费预测蛋白质三维结构 【免费下载链接】ColabFold Making Protein folding accessible to all! 项目地址: https://gitcode.com/gh_mirrors/co/ColabFold 想要探索蛋白质的神秘世界却苦于没有高性能计算设备&#xff1f;ColabFold为…...

长期使用Taotoken后对账单清晰度与成本预测的体会

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken后对账单清晰度与成本预测的体会 效果展示类&#xff0c;分享作为长期用户&#xff0c;如何依赖Taotoken提供的详…...

2026 最新 OpenClaw(小龙虾)部署步骤 小白避坑手册

OpenClaw&#xff08;小龙虾&#xff09;Windows 一键部署保姆级教程 | 10 分钟养出你的数字员工&#xff08;2026 最新版&#xff09; ✨ 前言 2026 年爆火的开源 AI 智能体 OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;GitHub 星标超 28 万&#xff0c;凭 “本…...