org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)异常总结

项目场景:

在springboot整合mybatis时遇到了这个异常,特此记录下我本次异常的出现原因
项目练习参考这篇博客—使用IDEA搭建一个简单的SpringBoot项目——详细过程


问题描述:

开始项目正常启动,能进入登录页面,但在登录后弹出登录失败页面,后台报BindingException异常
在这里插入图片描述


原因分析:

从异常看是因为持久层方法未能找到对应的映射文件中的SQL语句(getInfo方法)

在网上找了很多方法,包括方法名是否一一对应,yml文件中的mybatis映射配置等等,都没有成功
最后才发现是xml文件目录的问题
这是我的mapper.xml目录:
在这里插入图片描述
这是yml文件的映射配置:
在这里插入图片描述


解决方案:

  • 1.把mapper.UserMapper.xml文件从templates包挪到resources包夹下
    在这里插入图片描述
  • 2.更改yml映射文件配置地址(在mapper前加上*/)
    在这里插入图片描述

其他解决方案

如果异常和我一样是xml文件未找到的问题,但又迟迟找不到异常原因
在网上找到的一种方法可做应急处理:
把mapper.xml文件放到mapper.java文件同一文件夹下
在这里插入图片描述

再添加依赖:

   <build>
<!--项目打包时会将java目录中的*.xml文件也进行打包 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
   <build>

注意目录格式--src/main.java
完了刷新maven,重启项目


总结

异常要会看,代码要细心,解决异常不能太死板,不能只看网上查到的,还要结合自己的情况分析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值