出现BindingException: Invalid bound statement (not found): com.XX.EduChapterMapper解决办法

错误场景:

相信大家在mybatis编写sql语句时可能经常遇到这个错误,这儿记录下来仅供参考。

程序报错:“ org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.xxx ”


原因分析:

异常提示在MyBatis-Plus持久化框架使用中,Mapper.java与Mapper.xml绑定失败,绑定关系错误,所以我们自然而然的想到了是不是mybatis 方法映射名、返回类型或命名空间是否有误,如果对比都正确就 就要考虑自己的映射路径是否正确。


解决方案:

首先:要确认自己的项目构建没有问题,可以将maven clean 然后重新刷新。如果仍然有误就进行下一步。

第二步:查看自己命名空间指向的地址是否正确。如下图:(可以CTRL+鼠标左键点击看是否能跳转)

第三步:查看mapper.xml中的方法名映射和返回对象与mapper.java是否一致。如下图:

 同样这里可以CTRL+鼠标左键点击看是否能跳转

第四步:查看自己mapper.xml存放位置(我就是这里中招)

如果你的mapper和我一样存放下图,就需要在pom文件中进行配置,这是因为maven默认在java包下只识别java文件导致。 

 pom.xml代码如下:

    <!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

 因为我这里mapper.xml时放在/mapper/xml下,而mapper.java是放在/mapper下,它们不属同一级目录,所以还需要再application.yml中配置,如果你mapper.xml和mapper.java在同一目录下就不用进行操作。代码如下:

# 路径改成你自己的mapper.xml的路径
mybatis-plus:
  mapper-locations: classpath:com/xin/eduservice/mapper/xml/*.xml

到此就运行成功啦,关于 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.xxx 的解决办法  就写到这儿了,如果还有什么疑问或遇到什么问题欢评论区留言

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值