解决微服务下Mybatis xml无效绑定问题及分析Invalid bound statement

 更新时间:2023年11月20日 15:53:11   作者:勤快的小蚂蚁  
这篇文章主要介绍了解决微服务下Mybatis xml无效绑定问题及分析Invalid bound statement,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题描述

启动运行项目,调接口时,走到mapper接口处,

报以下错误:

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

有的人,可能困扰好几小时,或者一天以上。

分析

1、检查 mapper 接口和xml文件的定义的namespace 是否可以正常跳转。

2、检查xml返回类型是否正确 ResultMap 还是ResultType。

3、检查项目的主配置文件的信息(yaml或者poperties):

  • 检查mybatis.mapper-locations属性配置的路径下是否可以找到接口对应的xml文件。

4、检查工程编译后Target的Classes的文件夹里,对应的xml文件,是否是最新的xml文件内容,二者是否一致。

  • 其实,大多数并没有被编译到Classes 目录中。
  • maven 要执行 mvn clean  package  【不一定得行、静态文件不一定会加载到target】
  • maven 要执行 mvn clean  install  【得行】 【idea清空缓存、再执行此命令】

5、检查主启动类的注解的value是否正确。

@MapperScan(value = "com.zy.core.mapper")

6、如果使用了微服务配置中心,还需要检查当前的项目是使用的哪个Nacos

项目的环境(本地调试,开发环境、测试环境、生产环境)不一样,使用的Nacos配置也不一样。

  • 有自己电脑启动的nacos;
  • 有公司搭建的nacos;
  • 有不走nacos的配置中心的,走项目的本地配置;

总之, 要明确当前的项目的配置(如:数据库连接的信息)应该是使用的那个位置(本地的yaml还是本地的Nacos配置中心、其他的Nacos配置中心)。

如果使用了Nacos配置中心,不管是本地的还是其他的,都要登录Nacos配置中心去检查下是否存在相应的DataId、group、username、password等信息。

如果存在 ,查看下mybatis.mapper-locations属性是否与项目里配置的一致。

mybatis:
	mapper-locations: classpath:com/zy/core/mapper/*Mapper.xml

或者

mybatis-plus:  
​​​​​​​mapper-locations: classpath*:com/zy/core/mapper/mapper/**/**.xml

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java 新特性之Option示例详解

    Java 新特性之Option示例详解

    使用Optional开发时要注意正确使用Optional的“姿势”,特别注意不要使用3.2节提到的错误示范,谨慎使用isPresent()和get()方法,尽量多使用map()、filter()、orElse()等方法来发挥Optional的作用,对Java  Option相关知识感兴趣的朋友一起看看吧
    2024-02-02
  • Java中实现线程的三种方式及对比_动力节点Java学院整理

    Java中实现线程的三种方式及对比_动力节点Java学院整理

    本文给大家分享了java实现线程的三种方式,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-05-05
  • 基于Java代码操作Redis过程详解

    基于Java代码操作Redis过程详解

    这篇文章主要介绍了基于Java代码操作Redis过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Java实现最小生成树MST的两种解法

    Java实现最小生成树MST的两种解法

    最小生成树(MST)指在连通图的所有生成树中,所有边的权值和最小的生成树。本文介绍了求最小生成树的两种方法:Prim算法和Kruskal算法,需要的可以参考一下
    2022-05-05
  • java交换排序之鸡尾酒排序实现方法

    java交换排序之鸡尾酒排序实现方法

    这篇文章主要介绍了java交换排序之鸡尾酒排序实现方法,实例分析了排序的原理与相关的实现技巧,需要的朋友可以参考下
    2015-02-02
  • SWT(JFace) Menu、Bar...体验代码

    SWT(JFace) Menu、Bar...体验代码

    SWT(JFace)体验之Menu、Bar实现代码。
    2009-06-06
  • Spring实战之使用XML方式管理声明式事务操作示例

    Spring实战之使用XML方式管理声明式事务操作示例

    这篇文章主要介绍了Spring实战之使用XML方式管理声明式事务操作,结合实例形式详细分析了Spring XML方式管理声明式事务具体步骤、配置、接口及使用技巧,需要的朋友可以参考下
    2020-01-01
  • 使用Java实现简单搭建内网穿透

    使用Java实现简单搭建内网穿透

    内网穿透是一种网络技术,适用于需要远程访问本地部署服务的场景,本文主要为大家介绍了如何使用Java实现简单搭建内网穿透,感兴趣的可以了解下
    2024-02-02
  • Java 坐标系相互转换方式

    Java 坐标系相互转换方式

    这篇文章主要介绍了Java中的坐标系相互转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • springboot整合webservice使用简单案例总结

    springboot整合webservice使用简单案例总结

    WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,平台等,可以实现不同的语言间的相互调用,下面这篇文章主要给大家介绍了关于springboot整合webservice使用的相关资料,需要的朋友可以参考下
    2024-07-07

最新评论