Mybatis 中的 Invalid bound statement——专题

此篇博客用来记录本人遇到的 Invalid bound statement 问题

另外也欢迎各位留言,不断的对该问题进行完善

Invalid bound statement

Mybatis 中的 Invalid bound statement——专题_第1张图片
原因:通常是因为MyBatis无法找到对应的SQL语句,或者没能正确解析参数导致的错误

解决

这个问题非常常见,检查以下几项:

  • Mapper 接口中的方法名 需要跟 xml 中标签的 id 一致
  • xml 中的 namespace 需要跟Mapper的类名对应
  • 检查Mapper.xml文件,确认定义的SQL以及参数名称和类型是否与Java代码中的调用保持一致
  • 如果参数是对象,对象中的属性名称是否与Mybatis 映射的列名相同
  • 检查basePackages配置 或 mybatis-config.xml 中的 mapper 配置,确保 mapper.xml 被扫描到
  • 检查 target 目录中有没有 Mybatis 相关的映射文件

其他现象

selectById

本人在使用 mybatis-plus 时,调用 BaseMapper 的 selectById 方法遇到了这个问题

image.png
原因:
image.png

未指定泛型

本人在使用 mybatis-plus 继承 BaseMapper 时,未指定泛型,比如:
Mybatis 中的 Invalid bound statement——专题_第2张图片
这样也会导致 Invalid bound statement 问题

你可能感兴趣的:(mybatis,java,mysql)