idea中的mybatis映射报错

今天写代码的时候,由于需求有所小改变。于是去修改SQL。改完了SQL后,就进行很直接的run。却突然报错了一个信息如下:

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

如图:
在这里插入图片描述
开始的我以为是SQL写错的原因。于是先Revert了一下,然后执行代码。却依然报这个错误。这个时候,就感觉到有点不对劲了。这份代码,明明是上周五就好的代码。并且现在还在测试环境正常运行着,但是却在我这develop环境报错了。
开始了长达一下午的排错解决了。既然有报错了,就要解决。百度到的方案很老套,围绕着为啥mybaits没能够映射这个SQL。
1.mapper接口类和mapper.xml是否在同一个包下,文件名称是否一致(仅后缀不同)
2.mapper.xml的namespace是否是对应接口类的全名(包括包名和类名):这个是必须要保证相同,需要进行检查,而且全类名最好通过复制,不要自己手动拼写,容易出错
3.mapper接口类的方法名是否与mapper.xml中sql标签的id相同:这个也需要进行检查,必须保证一致
4.mapper.xml文件中用resultMap,而不用resultType(当sql操作结果是List或其他复杂结果集时),大小写也要确保一致。
经过3遍的一再核对,没有找到哪里有不对的。要是有不对的,上周也不可能执行成功。
没有办法,去核对查看其它的成功的,看下哪里有什么不同。
在这里插入图片描述
感觉这个mybatis,不需要加@Mapper注解。并且之前没有使用该注解,也成功了。但是此时,决定妥协,添加了该注解,进行执行。却依旧报错了。
重启项目,清理redis,重启电脑。只能用这个很low的解决办法了。并且还尝试了clean一下项目!
这个时候,想起来了以前在pom.xml文件中配置的

<resources>
     <resource>
          <directory>src/main/resources</directory>
          <includes>
              <include>**/*.xml</include>
          </includes>
     </resource>
 </resources>

遗憾的是,找完了整个项目,都没有找到配置mybatis的地方。可能封装起来了,一直没能找到。
这么久了,只能请外援了。----口袋!!!
最后,都没辙了。随手maven 重新更新了一下。 然后再去重启,奇迹般的好了。这次的bug的原因是:项目没有重新编译,导致报错。
于是通过Build–>Rebuild Project。 又尝试了一次,解决了问题。
在这里插入图片描述
这个小问题,却弄了一下午。记录一下,以便日后再犯!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

virtuousOne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值