(说的是人话)解决问题org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

我遇到这个问题后,在网上找了很多,但都是说的官话:

  1. 检查mybatis.xml文件namespace名称是否和Mapper接口的全限定名是否一致
  2. 检查Mapper接口的方法在mybatis.xml中的每个语句的id是否一致
  3. 检查Mapper接口方法返回值是否匹配select元素配置的ResultMap,或者只配置ResultType
  4. 检查yml文件中的mapper的XML配置路径是否正确

用人话来说,我遇到的是两个问题(举例)

  1. 资源下的UserMapper.xml中的namespace要与接口类(interface)UserMapper的地址一致,这个大家应该已经检查了无数次了。主要是第二种。
    在这里插入图片描述
  2. UserMapper.xml文件在resources下的位置应和接口类Usermapper的位置一致。还是上方那张图,UserMapper接口的位置是java/tt/mybatis/mapper/UserMapper,那么映射文件的位置也应该是resources/tt/mybatis/mapper/UserMapper.xml
    在这里插入图片描述
注意:
  • 如果两者的位置是错的,就是如标题所述的错误(如下)
    • 当我把UserMapper.xml映射文件的位置由resources/tt/mybatis/mapper/UserMapper.xml改为resources/mapper/UserMapper.xml,就会出错。
      在这里插入图片描述
  • 还有一种错误是在resources下建立文件夹时,不能用tt.mybatis.mapper来建立,得用tt/mybatis/mapper来建立文件夹,虽然在IDEA中看起来并无两样,但是两者建立的目录路径是不同的。(右键点击红色部分,选择"Show in Explorer",上为正确的)
    在这里插入图片描述
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值