Invalid bound statement (not found)的原因以及解决方法

这篇具有很好参考价值的文章主要介绍了Invalid bound statement (not found)的原因以及解决方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相信我们在学习Mybatis的时候都出现过 Invalid bound statement (not found) 这个错误,一般由以下几种可能导致这个错误

一:mapper方法名 和 mapper.xml id名不对应

例如:

mapper:

Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

 对应的mapper.xml

Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

这里建议小伙伴们下载一个插件,方便查看你的xml是否对应了你想对应的mapper接口

Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

有了这个插件,你的接口mapper和对应的mapper.xml都会有小鸟,点一下就会 ‘飞到’ 对应的接口(或者xml)

 Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

二、 mapper.xml的namespace是不是写错了

Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

 这里的 namespace要所需实现的接口的全限定性类名

三、是不是xml文件没有编译

打开target看看有没有xml文件在里面

Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

没有的话就需要在pom.xml里面配置一下resource

 <!-- 如果不添加此节点src/main/java目录下的所有配置文件都会被漏掉。 -->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                    <include>**/*.ini</include>
                </includes>
            </resource>
        </resources>

效果如下:Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

 四、是不是resources的路径问题

主要,如果想吧mapper.xml文件写在resources下的话,新建的包要用 “ / ” 分开 而不是用 “ . ”

如:com/zhp/mapper 这个是正确的   com.zhp.mapper是错误的

如下:Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

查看一下包名对不对: ​​​​​Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

 Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

一定得是这样的嵌套的,以下是错误示例:(创建时候用错误的用 . 而不是 / )

Invalid bound statement (not found)的原因以及解决方法,各种经验分享,mybatis,java,mysql

 还有,这个resources里的这个mapper包一定和src一样,以免出现不必要的错误

 文章来源地址https://www.toymoban.com/news/detail-618696.html

到了这里,关于Invalid bound statement (not found)的原因以及解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决Mybatis报错并分析原因:Invalid bound statement (not found): com.xxx.mapper.xxx

    今天同事在Mapper.xml自定义写了一个SQL,但是调用mapper的时候缺报错 我大概还原下场景 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.wyh.mapper.UserMapper.findByIDWYH 具体如下 一开始我觉得是不是没有扫描到mapper包,但是看了启动类,确实也配注解了呀 然后我又想 是

    2023年04月08日
    浏览(42)
  • Mybatis异常Invalid bound statement (not found)原因之Mapper文件配置不匹配

    模拟登录操作 网页提示服务器代码错误 后端显示无法找到Mapper中对应的方法 原因 相信我们在学习Mybatis的时候都出现过 Invalid bound statement (not found) 这个错误, 一般由以下几种可能导致这个错误 第一种:mapper.xml中的namespace和实际的mapper文件不一致 第二种:mapper.xml中的id名与

    2024年02月14日
    浏览(42)
  • 出现Invalid bound statement (not found)问题的解决办法(已解决)

    今天在写项目时出现了 Invalid bound statement (not found):xxxx 这个问题,网上找了很多博客都不行,最后修改了配置文件解决了问题,借此将此类问题常见的解决办法汇总一下。 1.mapper接口中的方法名和mapper.xml中的id标签不一致 推荐大家装MyBatisX这个插件,这样如果mapper中的方法名

    2023年04月26日
    浏览(43)
  • myBatis plus 调用基本方法(insert update.... ) Invalid bound statement (not found)

    直接调用BaseMapper 或者 是Iservice 里面的方法报如下错,大概率是依赖版本冲突 我的依赖版本如下,解决了这个问题 “org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)” 错误通常表示在 MyBatis 中找不到有效的绑定语句。 这个错误可能有以下几个可能的原因: SQL

    2024年02月13日
    浏览(58)
  • Invalid bound statement (not found)

    目录 一、遇到的问题 二、分析思路 1、映射文件 2、测试类 三、解决方案 前几日,有个工作不久的同事找我帮他解决一个 Mybatis 的问题。他写了一个增删改查,但是在启动程序的时候报错:Invalid bound statement (not found) 。他试图解决该异常,花了一个小时还是没有解决,所以

    2024年02月01日
    浏览(59)
  • 【报错解决】org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

     对于这种错误,一般在于mapper接口与xml文件无法绑定。 解决方案: 1.检查xml文件名是否与mapper接口名一致。 2.检查xml文件中namespace是否与mapper接口的全类名一致。(按住ctrl点击能跳转就没问题) 3.是否在主启动类上标注了@MapperScan(“mapper接口所在包的全包名”)或在map

    2024年02月15日
    浏览(67)
  • BindingException:Invalid bound statement (not found)异常

    本文的mybatis是与springboot整合时出现的异常,若使用的不是基于springboot,解决思路也大体一样的。 但在这之前,我们先要知道整合mybatis的三个重要的工作,如此才能排查,且往下看。 我们打开pom文件如下: 这部分代码的作用是指定需要编译到taget目录下的资源文件。我们的

    2024年02月04日
    浏览(38)
  • mybatis plus报错:Invalid bound statement (not found)

    有的同学,在搭建mybatis plus项目时,遇到Invalid bound statement (not found)的问题,实质上是mapper接口和mapper.xml没有映射起来。 这种情况,常见的问题有以下几个: 1、mapper.xml 里面的 namespace与实际的mapper类路径不一致。 这个有个快捷的检测办法就是按住ctrl键,然后点击namespace里

    2024年02月04日
    浏览(50)
  • Junit启动测试mybatis xml文件BindingException: Invalid bound statement问题

    背景:1、正常启动,xml文件放在java目录和resource目录下均正常 2、junit启动,xml文件放在resource目录下正常,放在 java目录下 报BindingException错误 mapperlocation绑定地址为:\\\"classpath:com/a/b/**/*.xml\\\"   原因就在于绑定的地址有问题。   junit生成的test-classes下的测试类test所在目录与c

    2023年04月20日
    浏览(60)
  • error: #268: declaration may not appear after executable statement in block问题解决方法

    在stm32f407编程中遇到了error: #268: declaration may not appear after executable statement in block,编写代码如下: 报错情况: 问题分析: 在c89(1989年)标准中规定了c文件中局部变量的定义只能放在所有执行语句前,放在开头处;c99(1999年)标准中c文件中局部变量的定义可以放在任何地方

    2024年02月13日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包