org.apache.ibatis.binding.BindingException【原因汇总】

背景:SpringBoot项目 Spring整合Mybatis

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

解释:就是说,你的Mapper接口,被Spring注入后,却无法正常的使用mapper.xml的sql;

       这里的Spring注入后的意思是,你的接口已经成功的被扫描到,但是当Spring尝试注入一个代理(MyBatista实现)的实现类后,却无法正常使用。这里的可能发生的情况有如下几种;

  1. 接口已经被扫描到,但是代理对象没有找到,即使尝试注入,也是注入一个错误的对象(可能就是null)
  2. 接口已经被扫描到,代理对象找到了,也注入到接口上了,但是调用某个具体方法时,却无法使用(可能别的方法是正常的)

解决方案:

1.在application.properties中 手动配置扫描xml

mybatis.mapper-locations=classpath:mappers/*.xml

2.检查mapper接口对应的mapper.xml的namespace是不是mapper包名.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
org.apache.ibatis.binding.BindingException是MyBatis框架中的一个异常类,用于表示绑定错误的异常情况。在你提供的异常信息中,出现了"Invalid bound statement (not found)"的错误,表示找不到有效的绑定语句。 在MyBatis中,绑定语句是指将SQL语句与Mapper接口中的方法进行绑定,以便在执行数据库操作时使用。绑定语句通常定义在Mapper XML文件中或者使用注解方式进行定义。 出现"Invalid bound statement (not found)"错误的原因可能有以下几种: 1. 绑定语句的ID错误:可能是由于绑定语句的ID在Mapper XML文件中不存在或者注解方式定义的方法名与绑定语句ID不匹配导致的。 2. Mapper接口未正确绑定:可能是由于Mapper接口未正确与Mapper XML文件进行绑定或者未使用@Mapper注解进行标识导致的。 3. Mapper XML文件未正确配置:可能是由于Mapper XML文件中未正确配置绑定语句或者未正确引入Mapper接口导致的。 为了解决这个问题,你可以检查以下几个方面: 1. 检查绑定语句的ID是否正确,并确保在Mapper XML文件中存在对应的绑定语句。 2. 检查Mapper接口是否正确与Mapper XML文件进行绑定,可以使用@Mapper注解或者在配置文件中进行配置。 3. 检查Mapper XML文件中是否正确配置了绑定语句,并且引入了正确的Mapper接口。 如果以上检查都没有问题,还可以尝试重新编译和部署项目,确保所有的配置和代码都正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值