报错

当你正准备调试接口时,啪的一下报了一个错

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)解决方案汇总相关推荐

  1. springboot mybatis mysql8.0 异常 invalid bound statement (not found)(汇总篇)

    大家好,我是烤鸭: 现在是采坑实录. invalid bound statement (not found)  这个坑用过mybatis的人肯定都踩过. 1. 环境 <parent>< ...

  2. 关于 batis.binding.BindingException: Invalid bound statement (not found) 解决方案

    一.问题描述 今天在使用 mybatis .spring 和 servlet 进行整合开发的时候报了这样的一个错误. Caused by: org.apache.ibatis.binding.Bind ...

  3. Invalid bound statement (not found) 解决方案

    今天弄一个开源框架,全局修改了包名之后启动项目报此错误: 总是显示未找到对应的那个方法,可是对应的方法可以找到. 最后经过深度思考和查找,是mybatis-plus扫描路径未改,因为全局替换时是com ...

  4. mybais-plus出现Invalid bound statement (not found)的解决方案

    今天笔者完善了一下自己写的项目,加上了数据库,之前都是靠着session来发电的.然后遇到了个问题,就是使用mybais-plus出现Invalid bound statement (not foun ...

  5. IDEA+Maven+Springboot:invalid bound statement (not found) 解决办法

    自己使用Springboot搭建web项目,之前都是使用注解形式来执行sql获取查询内容,这次本承着闲得无聊试一试的想法,突发奇想想用xml的方式执行sql.很走心的参照自己之前spring项目的书写 ...

  6. 解决Mybatis启动报错: Invalid bound statement (not found)

    一.问题描述 使用mybatis的项目在本地可以正常运行,但当使用maven或Jenkins打包部署到服务器上时出现了绑定错误,异常信息为: org.apache.ibatis.binding.Bin ...

  7. 解决:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    之前有用过SSM框架,并且自己搭过,完全没问题.工作之后一直用maven,前两天在maven下搭建了一个SSM框架,但是一直报绑定失效错误,具体错误如下: org.apache.ibatis.bind ...

  8. springboot集成mybati 后又使用mybatisPlus 出现的问题 BindingException:Invalid bound statement

    使用mybatisPlus 插件时出现的问题: 因为项目中已有 mybatis 扫描的路径,之后加上了 mybatisplus 插件导致出现以下错误: BindingException:Invalid ...

  9. 如何快速解决 Mybatis 异常:Invalid bound statement (not found)

    目录 一.遇到的问题 二.分析思路 1.映射文件 2.测试类 三.解决方案 一.遇到的问题 前几日,有个工作不久的同事找我帮他解决一个 Mybatis 的问题.他写了一个增删改查,但是在启动程序的时候 ...

最新文章

  1. 云数据未来面临的问题
  2. 批量导入LYNC 2010用户的联系人
  3. python生成条形图-Python处理JSON数据并生成条形图
  4. matlab拟合工具箱cftool
  5. 2019年秋计算机管理工作总结,年段工作总结(2019秋高一上)
  6. 支持向量机实现鸢尾花数据集分类matlab
  7. 利用Qt元对象技术防止工厂模式下代码臃肿问题,QT 动态创建对象(第2种方法)
  8. Leetcode-3 无重复字符的最长子串【c语言】
  9. oracle 11g rac 状态,Oracle 11g RAC 检查各部分运行状态
  10. Flume案例Ganglia监控
  11. 2017.5.10 华容道 失败总结
  12. 隐式连接时,windows下VS(包括2005、2008等)下配置OpenCV动态库的步骤
  13. 苹果6s最大屏幕尺寸_iPhone 6s:经典的小屏旗舰,百元价位也能做苹果党
  14. 通信网真的面临容量危机?
  15. mysql基本语法 外键_Mysql基本语法一
  16. 谁与争锋-七款杀毒软件比较分析
  17. 5G无线技术基础自学系列 | CloudRAN架构
  18. 查询各科成绩最高分、最低分和平均分
  19. JSP中session的简单应用——以购物车为例
  20. 乐鑫Esp32学习之旅13 esp32 内置 dns 服务器,无需外网访问域名返回指定网页。(附带Demo)

热门文章

  1. 使用requests爬取豆瓣电影top250
  2. Java11新特性一览
  3. 导入excel表格,保存到临时表
  4. 2021-2022年十类(30+)热门资质证书汇总分享,
  5. 由于使用计算机编制会计报表,由于使用计算机编制会计报表,定义了会计报表之间的勾稽关系,可根据需要随时随意生成及输出会计报表。()...
  6. 哈夫曼树构造哈夫曼编码
  7. 时间复杂度计算-例题集合
  8. 实验四 获取C程序中一个逻辑地址对应的物理地址
  9. 微信小程序开发——消除Now you can provide attr `wx:key` for a `wx:for` to improve performance.
  10. MyBlog--(1)登录页面-login.jsp