[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、问题描述 在写了一个很普通的查询语句之后,出现了下面的报错信息 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:包含菜单栏、工具栏、状态栏 QWidget:普通的一个窗口,什么也不包括 QDialog:对话框,常用来做登录窗口、弹出窗口(例如设置页面) QDialog实现简易登录界面…...
uni-app判断不同端
大家好,今天给大家分享的知识是在uni-app中如何区分是在什么端操作的程序 话不多说直接上代码: // #ifdef APP-PLUS<view>APP端</view>// #endif// #ifdef H5<view>H5端</view>// #endif// #ifdef MP<view>小程序端</v…...
计算机网络-网络设备防火墙是什么?
一、防火墙基本概念 前面我们学习了交换机、路由器是网络中常用的设备,现实中还有一个很重要的设备-防火墙。防火墙这一设备通常用于两个网络之间有针对性的、逻辑意义上的隔离。在网络通信领域,防火墙是一种安全设备。它用于保护一个网络区域免受来自另…...
Code Composer Studio (CCS) - Breakpoint (断点)
Code Composer Studio [CCS] - Breakpoint [断点] 1. BreakpointReferences 1. Breakpoint 选中断点右键 -> Breakpoint Properties… Skip Count:跳过断点总数,在断点执行之前设置总数 Current Count:当前跳过断电累计值 References […...
人工智能_普通服务器CPU_安装清华开源人工智能AI大模型ChatGlm-6B_001---人工智能工作笔记0096
使用centos安装,注意安装之前,保证系统可以联网,然后执行yum update 先去更新一下系统,可以省掉很多麻烦 20240219_150031 这里我们使用centos系统吧,使用习惯了. ChatGlm首先需要一台个人计算机,或者服务器, 要的算力,训练最多,微调次之,推理需要算力最少 其实很多都支持C…...
分层钱包HD钱包
bc1 开头的通常指的是比特币(Bitcoin)的地址,这种格式遵循了比特币改进提案BIP 0173中定义的Bech32编码格式。Bech32地址也被称为"SegWit"地址,它们支持Segregated Witness功能,这是比特币网络为了提高区块链…...
基于python+mysql的宠物领养网站系统
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括:首页、宠物详情页、用户中心模块。后台功能包括:总览、领养管理、宠物管理、分类…...
机器学习入门--门控循环单元(GRU)原理与实践
GRU模型 随着深度学习领域的快速发展,循环神经网络(RNN)已成为自然语言处理(NLP)等领域中常用的模型之一。但是,在RNN中,如果时间步数较大,会导致梯度消失或爆炸的问题,…...
GitHub Actions
GitHub Actions GitHub Actions 是 GitHub 提供的一种持续集成(CI)和持续部署(CD)解决方案。它可以让你在 GitHub 仓库中直接自动化、定制化和执行软件开发工作流程。 比如,当有新的推送到仓库或者新的 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. 解决办法 找原因,首先,我的电脑中之前安装过node,也许是因为这个。(其实…...
MySQL Replication
0 序言 MySQL Replication 是 MySQL 中的一个功能,允许从一个 MySQL 数据库服务器(称为主服务器或 master)复制数据和数据库结构到另一个服务器(称为从服务器或 slave)。这种复制是异步的,意味着从服务器不…...
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 过滤数组
背景: 页面:在项目中遇到的,前端页面显示为,顶部是下拉搜索条件,下面是一个表格; 数据:接口请求一次性拿到所有:搜索条件里的下拉选项和表格中的数据; 现状:需要前端在搜…...
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的安装路径: /var/lib/jenkins/ …...
【JavaScript】分支语句
目录 一、if语句 二、三元运算符 三、switch语句 JS中分支语句可以分为三种,分别是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的农家乐订餐系统,…...
OSQP文档学习
OSQP官方文档 1 QSQP简介 OSQP求解形式为的凸二次规划: x ∈ R n x∈R^n x∈Rn:优化变量 P ∈ S n P∈S^n_ P∈Sn:半正定矩阵 特征 (1)高效:使用了一种自定义的基于ADMM的一阶方法,只需…...
ONLYOFFICE 8.0:引领数字化办公新纪元
目录 前言 软件安装 软件启动 软件新版本特性 个人评价 总结 前言 在当今快节奏的数字化世界中,高效的办公软件已成为企业竞争力的关键因素。ONLYOFFICE,作为全球领先的办公解决方案提供商,始终致力于通过技术创新来优化用户体验。如今…...
魔兽争霸3帧率优化完全指南:从技术原理到实战调优
魔兽争霸3帧率优化完全指南:从技术原理到实战调优 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 一、性能瓶颈诊断:定位魔兽争…...
Kandinsky-5.0-I2V-Lite-5s部署教程:Ubuntu 22.04 LTS环境完整安装与验证
Kandinsky-5.0-I2V-Lite-5s部署教程:Ubuntu 22.04 LTS环境完整安装与验证 1. 环境准备与快速部署 Kandinsky-5.0-I2V-Lite-5s是一款轻量级图生视频模型,能够将静态图片转换为5秒左右的短视频。在开始之前,请确保你的系统满足以下要求&#…...
InfluxDB(一)——一个高效处理数据的时序数据库
目录 一、什么是时序数据库InfluxDB? 关系型数据库(行式存储)是怎么存的? 时序数据库(列式存储)是怎么存的? 二、InfluxDB的特点 1. 极致的写入性能 2. 高效的存储压缩 3. 独特的数据模型…...
优艾智合冲刺港股:年营收3.4亿亏3.8亿 蓝驰与真格是股东
雷递网 雷建平 4月3日合肥优艾智合机器人股份有限公司(简称:“优艾智合”)日前更新招股书,准备在港交所上市。年营收3.4亿 亏损3.8亿优艾智合是一家工业具身智能科技公司,为半导体、能源化工、锂电、3C及其他制造、公用…...
MTK6737平台LCD驱动移植保姆级教程:从供应商参数到开机Logo的完整避坑指南
MTK6737平台LCD驱动移植实战:从零构建显示系统的关键技术与避坑指南 在嵌入式设备开发中,显示系统作为人机交互的核心组件,其稳定性直接影响用户体验。MTK6737作为主流中端移动处理器平台,广泛应用于各类智能设备,而HX…...
Mac 用户专属:解决 Stable Diffusion WebUI 在 macOS 上部署时遇到的 Git 和路径权限疑难杂症
Mac 用户专属:解决 Stable Diffusion WebUI 在 macOS 上部署时的疑难杂症 在 macOS 上部署 Stable Diffusion WebUI 时,许多用户会遇到一系列独特的问题,这些问题往往与 macOS 的文件系统、权限管理以及网络配置有关。本文将深入探讨这些问题…...
Arduino嵌入式工具库解析:按键消抖、字符串格式化与I²C通信
1. 项目概述utils_asukiaaa是一个面向 Arduino 平台的轻量级工具函数库,聚焦于三类高频嵌入式开发场景:机械按键消抖与状态机管理、字符串格式化处理、IC 总线设备通信封装。该库采用 C 命名空间组织(utils_asukiaaa::button/utils_asukiaaa:…...
矢量网络分析仪在MRI射频子系统研发测试中的应用
磁共振成像(MRI)正经历双向演进:一方面,高场强系统向7T及更高场强发展,持续推动成像分辨率提升;另一方面,低场强永磁体技术逐步成熟,使便携式MRI在急救室、ICU及基层医疗场景中的应用…...
文字识别OCR 在线工具 vs OCR API 接口平台:普通用户和开发者该怎么选?
随着 AI 发展,OCR 已经成了办公、学习、开发必备工具。 但现在市面上的 OCR 工具大致分两类: 在线 OCR 网站(网页直接用) OCR API 接口平台(系统对接用) 很多人不知道该怎么选,我从【普通用…...
突破性分子动力学自由能计算工具:gmx_MMPBSA技术深度解析与实战指南
突破性分子动力学自由能计算工具:gmx_MMPBSA技术深度解析与实战指南 【免费下载链接】gmx_MMPBSA gmx_MMPBSA is a new tool based on AMBERs MMPBSA.py aiming to perform end-state free energy calculations with GROMACS files. 项目地址: https://gitcode.co…...
