[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文件,然后重新编译启动运行即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/692034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于python+django+vue.js开发的健身房管理系统

功能介绍 平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。 功能包括&#xff1a;教练管理、会员管理、场地管理、设备管理、用户管理、日志管理、系统信息模块。 源码地址 https://github.com/geeeeeeeek/python_…

嵌入式C语言学习——基于Linux与GCC(二)

系列文章目录 一.C语言常用关键字及运算符操作 文章目录 系列文章目录内存四区指针指针概述指针 修饰符constvolatiletypedef 指针运算符多级指针 数组数组空间字符空间及地址 结构体、共用体定义、字节对齐位域 内存分布图段错误分析 内存四区 C/C语言的内存四区&#xff0…

Django模板(四)

一、include标签 加载一个模板,并在当前上下文中进行渲染。这是一种在模板中 “包含” 其他模板的方式 简单的理解:在当前模板中引入另外一个模板内容 1.1、使用方法 模板名称可以是变量,也可以是单引号或双引号的硬编码(带引号)的字符串 {% include "foo/bar.ht…

ALBEF算法解读

ALBEF论文全名Align before Fuse: Vision and Language Representation Learning with Momentum Distillation&#xff0c;来自于Align before Fuse&#xff0c;作者团队为Salesforce Research。 论文地址&#xff1a;https://arxiv.org/pdf/2107.07651.pdf 论文代码&#xff1…

美国首届生成式人工智能与法律研讨(上)

美国首届生成式人工智能与法律研讨(上) 文章目录 美国首届生成式人工智能与法律研讨(上)前言一、引言二、生成式AI对法律的影响三、生成式AI与法律的跨学科研究3.1 确定和定义跨学科术语3.2 构建有价值的隐喻3.3 理解不断发展的商业模式四、生成式AI的独特性4.1 从执行狭义…

GO框架基础 (三)、xorm库

xorm介绍 官网&#xff1a;https://xorm.io/ git文档&#xff1a;https://github.com/go-xorm/xorm xorm 是一个 Go 语言的 ORM&#xff08;对象关系映射&#xff09;库&#xff0c;它提供了一种简单、高效的方式来将 Go 语言中的结构体与数据库表进行映射&#xff0c;并提供了…

[OpenAI]继ChatGPT后发布的Sora模型解析与体验通道

前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff1a;https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言OpenAI体验通道Spacetime Latent Patches 潜变量时空碎片, 建构视觉语言系统…

【RHCE】shell条件测试练习

目录 1、判断当前磁盘剩余空间是否有20G&#xff0c;如果小于20G&#xff0c;则将报警邮件发送给管理员&#xff0c;每天检查次磁盘剩余空间。 2、判断web服务是否运行 3、使用curl命令访问第二题的web服务&#xff0c;看能否正常访问&#xff0c;如果能正常访问&#xff0c;…

计算机网络-H3C网络端口基础信息与配置

一、网络端口基础信息与配置 这个主要是记录一下关于华三的交换机、防火墙和路由器的物理接口的一些基础知识与配置。 1.1 命名规范 H3C的端口命名主要是根据端口的速率来进行区分的。基本都是千兆速率往上的&#xff0c;百兆的端口比较多用于二层傻瓜交换机或者不能CLI管理的。…

《戴森球计划》好玩吗?《戴森球计划》怎么在苹果电脑上安装 戴森球计划攻略 Mac游戏推荐

《戴森球计划》是一款具有强大现实科学基础的模拟策略游戏&#xff0c;玩家的目标是构建能源效率极高的戴森球以解决能源问题。游戏的背景设定启发于科幻作品中的戴森球概念。游戏采用逼真的物理模拟&#xff0c;玩家需要合理规划资源&#xff0c;以应对复杂的能源危机。那么《…

【LeetCode+JavaGuide打卡】Day20|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

学习目标&#xff1a; 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先 学习内容&#xff1a; 530.二叉搜索树的最小绝对差 题目链接&&文章讲解 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值…

C语言easyx飞机大战源码+素材

飞机大战游戏完整源码 一、项目背景 在数字娱乐飞速发展的今天,电子游戏已经成为许多人生活中不可或缺的一部分。飞机大战,作为一款经典的射击游戏,以其简单易上手、刺激好玩的特点,深受玩家的喜爱。本项目旨在利用EasyX图形库,为玩家呈现一个全新的飞机大战游戏体验。 …

【计算机网络】网络编程套接字UDP服务器客户端的简单模拟

需要云服务器等云产品来学习Linux的同学可以移步/–>腾讯云<–/官网&#xff0c;轻量型云服务器低至112元/年&#xff0c;优惠多多。&#xff08;联系我有折扣哦&#xff09; 文章目录 1. 前置知识1.1 源IP和目的IP1.2 端口号1.3 TCP协议和UDP协议初识1.4 网络字节序1.5 …

C# OpenCvSharp DNN Low Light image Enhancement

目录 介绍 效果 模型信息 项目 代码 下载 C# OpenCvSharp DNN Low Light image Enhancement 介绍 github地址&#xff1a;https://github.com/zhenqifu/PairLIE 效果 模型信息 Model Properties ------------------------- ------------------------------------------…

文献学习-1-Continuum Robots for Medical Interventions

Chapt 5. 连续体机构分析 5.1 文献学习 5.1.1 Continuum Robots for Medical Interventions Authors: PIERRE E. DUPONT , Fellow IEEE, NABIL SIMAAN , Fellow IEEE, HOWIE CHOSET , Fellow IEEE, AND CALEB RUCKER , Member IEEE 连续体机器人在医学上得到了广泛的应用&a…

卷积神经网络的基本结构

卷积神经网络的基本结构 与传统的全连接神经网络一样&#xff0c;卷积神经网络依然是一个层级网络&#xff0c;只不过层的功能和形式发生了变化。 典型的CNN结构包括&#xff1a; 数据输入层&#xff08;Input Layer&#xff09;卷积层&#xff08;Convolutional Layer&#x…

Avalonia学习(二十四)-系统界面

目前项目式练习&#xff0c;界面内容偏多&#xff0c;所以不给大家贴代码了&#xff0c;可以留言交流。此次为大家展示的是物联项目的例子&#xff0c;仅仅是学习&#xff0c;我把一些重点列举一下。 界面无边框 以前的样例主要是通过实现控件来完成的&#xff0c;前面已经有窗…

Linux命令:stat命令

目录 1 简介2 说明3 实例-L&#xff1a;显示链接指向的文件的信息-f&#xff1a;显示文件系统信息-t&#xff1a;以简洁的形式输出 1 简介 stat命令&#xff1a;显示文件或文件系统的状态 2 说明 使用&#xff1a;stat [OPTION]… FILE 常用选项&#xff1a; -L, --derefer…

c语言游戏实战(9):球球大作战

前言&#xff1a; 这款简易版的球球大作战是一款单人游戏&#xff0c;玩家需要控制一个小球在地图上移动&#xff0c;吞噬其他小球来增大自己的体积。本游戏使用C语言和easyx图形库编写&#xff0c;旨在帮助初学者了解游戏开发的基本概念和技巧。 在开始编写代码之前&#xf…

新算法UoT助力AI提问——主动寻求信息,任务完成率提高57.8%

引言&#xff1a;信息寻求在不确定性环境中的重要性 在不确定性环境中&#xff0c;信息寻求的能力至关重要。在许多实际应用中&#xff0c;如医学诊断和故障排除&#xff0c;解决任务所需的信息并非一开始就给出&#xff0c;而需要通过提问后续问题来主动寻求&#xff08;例如…