Invalid bound statement (not found)解决方案汇总
报错
当你正准备调试接口时,啪的一下报了一个错
ERROR c.m.b.c.aop.GlobalExceptionHandler -异常原因:Invalid bound statement (not found): com.demo.mybatis.repository.test.xxx.myTest,位置信息:org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:225)
org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48)
org.apache.ibatis.binding.MapperProxy.cachedMapperMethod(MapperProxy.java:65)
org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:58)
com.sun.proxy.$Proxy159.listCheck(Unknown Source)
xml配置
mybatis :type-aliases-package: com.demo.mybatis.repositorymapper-locations : classpath:mapper/*.xml
分析
Invalid bound statement (not found)
字面意思:
无效的绑定语句(未找到)
根据报错信息追踪到源码
public MapperMethod(Class<?> mapperInterface, Method method, Configuration config) {this.command = new SqlCommand(config, mapperInterface, method);this.method = new MethodSignature(config, mapperInterface, method);
}
MapperMethod封装了Mapper接口中对应方法的信息,以及对应的sql语句的信息;它是mapper接口与映射配置文件中sql语句的桥梁;MapperMethod对象不记录任何状态信息,所以它可以在多个代理对象之间共享。
SqlCommand(内部类):从configuration中获取方法的命名空间,方法名以及SQL语句的类型
MethodSignature(内部类):封装mapper接口方法的相关信息(入参,返回类型)
ParamNameResolver:解析mapper接口方法中的入参
public SqlCommand(Configuration configuration, Class<?> mapperInterface, Method method) {final String methodName = method.getName();final Class<?> declaringClass = method.getDeclaringClass();MappedStatement ms = resolveMappedStatement(mapperInterface, methodName, declaringClass,configuration);if (ms == null) {if (method.getAnnotation(Flush.class) != null) {name = null;type = SqlCommandType.FLUSH;} else {throw new BindingException("Invalid bound statement (not found): "+ mapperInterface.getName() + "." + methodName);}} else {name = ms.getId();type = ms.getSqlCommandType();if (type == SqlCommandType.UNKNOWN) {throw new BindingException("Unknown execution method for: " + name);}}
}
解决方案总结:
1.mapper对应的xml位置错误,未读取到
以上错误就是因为xml多了一级目录导致未读取到xml文件,修改文件位置或配置路径
2.xml与mapper不匹配
xml里面的namespace、id和mapper里面的方法名不匹配,或者parameterType不匹配导致未找到
3.缓存问题
未及时更新缓存信息,查看target目录下文件是否最新
使人疲惫的不是远方的高山,而是鞋子里的一粒沙子。
Invalid bound statement (not found)解决方案汇总相关推荐
- springboot mybatis mysql8.0 异常 invalid bound statement (not found)(汇总篇)
大家好,我是烤鸭: 现在是采坑实录. invalid bound statement (not found) 这个坑用过mybatis的人肯定都踩过. 1. 环境 <parent>< ...
- 关于 batis.binding.BindingException: Invalid bound statement (not found) 解决方案
一.问题描述 今天在使用 mybatis .spring 和 servlet 进行整合开发的时候报了这样的一个错误. Caused by: org.apache.ibatis.binding.Bind ...
- Invalid bound statement (not found) 解决方案
今天弄一个开源框架,全局修改了包名之后启动项目报此错误: 总是显示未找到对应的那个方法,可是对应的方法可以找到. 最后经过深度思考和查找,是mybatis-plus扫描路径未改,因为全局替换时是com ...
- mybais-plus出现Invalid bound statement (not found)的解决方案
今天笔者完善了一下自己写的项目,加上了数据库,之前都是靠着session来发电的.然后遇到了个问题,就是使用mybais-plus出现Invalid bound statement (not foun ...
- IDEA+Maven+Springboot:invalid bound statement (not found) 解决办法
自己使用Springboot搭建web项目,之前都是使用注解形式来执行sql获取查询内容,这次本承着闲得无聊试一试的想法,突发奇想想用xml的方式执行sql.很走心的参照自己之前spring项目的书写 ...
- 解决Mybatis启动报错: Invalid bound statement (not found)
一.问题描述 使用mybatis的项目在本地可以正常运行,但当使用maven或Jenkins打包部署到服务器上时出现了绑定错误,异常信息为: org.apache.ibatis.binding.Bin ...
- 解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
之前有用过SSM框架,并且自己搭过,完全没问题.工作之后一直用maven,前两天在maven下搭建了一个SSM框架,但是一直报绑定失效错误,具体错误如下: org.apache.ibatis.bind ...
- springboot集成mybati 后又使用mybatisPlus 出现的问题 BindingException:Invalid bound statement
使用mybatisPlus 插件时出现的问题: 因为项目中已有 mybatis 扫描的路径,之后加上了 mybatisplus 插件导致出现以下错误: BindingException:Invalid ...
- 如何快速解决 Mybatis 异常:Invalid bound statement (not found)
目录 一.遇到的问题 二.分析思路 1.映射文件 2.测试类 三.解决方案 一.遇到的问题 前几日,有个工作不久的同事找我帮他解决一个 Mybatis 的问题.他写了一个增删改查,但是在启动程序的时候 ...
最新文章
- 云数据未来面临的问题
- 批量导入LYNC 2010用户的联系人
- python生成条形图-Python处理JSON数据并生成条形图
- matlab拟合工具箱cftool
- 2019年秋计算机管理工作总结,年段工作总结(2019秋高一上)
- 支持向量机实现鸢尾花数据集分类matlab
- 利用Qt元对象技术防止工厂模式下代码臃肿问题,QT 动态创建对象(第2种方法)
- Leetcode-3 无重复字符的最长子串【c语言】
- oracle 11g rac 状态,Oracle 11g RAC 检查各部分运行状态
- Flume案例Ganglia监控
- 2017.5.10 华容道 失败总结
- 隐式连接时,windows下VS(包括2005、2008等)下配置OpenCV动态库的步骤
- 苹果6s最大屏幕尺寸_iPhone 6s:经典的小屏旗舰,百元价位也能做苹果党
- 通信网真的面临容量危机?
- mysql基本语法 外键_Mysql基本语法一
- 谁与争锋-七款杀毒软件比较分析
- 5G无线技术基础自学系列 | CloudRAN架构
- 查询各科成绩最高分、最低分和平均分
- JSP中session的简单应用——以购物车为例
- 乐鑫Esp32学习之旅13 esp32 内置 dns 服务器,无需外网访问域名返回指定网页。(附带Demo)
热门文章
- 使用requests爬取豆瓣电影top250
- Java11新特性一览
- 导入excel表格,保存到临时表
- 2021-2022年十类(30+)热门资质证书汇总分享,
- 由于使用计算机编制会计报表,由于使用计算机编制会计报表,定义了会计报表之间的勾稽关系,可根据需要随时随意生成及输出会计报表。()...
- 哈夫曼树构造哈夫曼编码
- 时间复杂度计算-例题集合
- 实验四 获取C程序中一个逻辑地址对应的物理地址
- 微信小程序开发——消除Now you can provide attr `wx:key` for a `wx:for` to improve performance.
- MyBlog--(1)登录页面-login.jsp