记一次SpringBoot项目的Invalid bound statement (not found)错误

2023-11-08

目录

一、前言

二、解决方案

1、第一种:语法错误

2、第二种:编译错误

3、第三种:配置错误

4、第四种:粗心大意

三、写在后面


一、前言

今天写项目的过程中突然报错:Invalid bound statement (not found)  百思不得其解,各种百度之后,记录一下解决方案,希望各位小伙伴们不要重复踩坑。遇到错误不要慌,一个一个排除,总能够解决的。

二、解决方案

根据以下4种情况进行排查,总会有一个适合你。

1、第一种:语法错误

JAVA DAO层接口

public void delete(@Param("id") String id);

JAVA 对应的 mapper.xml 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="xxx.xxx.xxx.Mapper">
    <!-- 批量删除数据 -->
    <delete id="delete" parameterType="java.lang.String">
        DELETE FROM 表名 WHERE id = #{id}
    </delete>
</mapper>

检查:1. 接口中方法名(delete)与xml文件中 id="delete"是否一致

   2. xml文件中的 namespace="xxx.xxx.xxx.Mapper" 中的路径是否与接口文件路径一致

   3.parameterType类型 与 resultType类型是否准确;resultMap与resultType是不一样的。

2、第二种:编译错误

定位到项目路径下:target\classes\ 中报错路径下,寻找对应的xml文件是否存在。

(1)若不存在对应的xml文件,则需要在pom.xml中加入以下代码:

<build>
    <resources>
         <resource>
             <directory>src/main/java</directory>
             <excludes>
                 <exclude>**/*.java</exclude>
             </excludes>
         </resource>
         <resource>
             <directory>src/main/resources</directory>
             <includes>
                 <include>**/*.*</include>
             </includes>
        </resource>
    </resources>
</build>

删除classes文件夹中文件,重新编译,出现了对应的xml文件即可。

(2)若存在xml文件,则打开xml文件,检查其中报错部分是否与源文件一致,不一致,则

  先清除classes文件夹中文件,执行命令:mvn clean 清理内容,重新编译后即可。

3、第三种:配置错误

在配置文件中指定扫描包时,配置路径有问题。例如:spring配置文件中”basePackage” 属性包名的指定一定要具体到接口所在包,而不要写父级甚至更高级别的包 ,否则可能出现问题;cn.dao 与cn.*也可能导致错误;注解扫描时,可能没有扫描到包等。

4、第四种:粗心大意

博主就是因为第四种原因导致的,由于博主用的是 JRebel 插件热部署,每次写完代码只是点一下工具栏的小锤子就完成编译了,导致了 mapper.xml 文件没有编译成功,把项目停掉,重新 run 一下,就解决了问题。

三、写在后面

希望各位小伙伴们不要和博主犯一样的错误哦,实在找不到原因,不妨也试试重新跑。如果你觉得本文对你帮助,不妨给博主点个赞吧。

更多精彩好文:http://wjhsmart.vip

如果有需要互联的也可以给博主留言哦

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

记一次SpringBoot项目的Invalid bound statement (not found)错误 的相关文章

随机推荐

  • MySQL数据库查询默认是按什么进行排序的

    文章中所有操作均是在 MySQL 5 7 版本下进行的 引入问题 MySQL 普通查询它是按照什么进行排序的 我们稍微讨论下这个问题 我们先引入一个测试表 drop table if exists tbl test create table
  • Swagger 整合 Spring Boot

    title Swagger 整合 Spring Boot date 2021 10 1 tags spring springboot swagger categories spring springboot Swagger 整合 Sprin
  • Relation-Aware Global Attention for Person Re-identification (cvpr2020)

    首先这是一篇科大和微软亚研院的文章 文章很优美 非常值得一阅 本文主要是针对行人重识别提出一种从局部之间的关系找到相关性从而生成注意力的方法 可以理解成继承 Non local 或者 self attention 的方法 虽然理念相似 这些
  • 【css】css3动画实现鼠标悬停按钮动画

    html a href span span Button a css body margin 0 padding 0 font family sans serif a position absolute top 50 left 50 tra
  • 【20201023期AI简报】OpenCV 4.5 发布、NVIDIA开源NeMo,更多精彩点我!

    导读 本期为 AI 简报 20201023 期 将为您带来过去一周关于 AI 新闻 12 条 其他互联网圈内新闻10 条 希望对您有所帮助 有更好的建议或者意见请在下方留言 AI 1 OpenCV 4 5 发布 DNN 模型在 ARM 平台
  • 数据库表的各种连接(内连接,外连接)

    关系型数据库 以关系代数为理论基础 1 用表 Table 表示关系或者实体 2 用行 Row 表示元组 3 用列 Col 表示属性 关系代数包含以下8个关系运算符 单表操作 1 选取 返回满足指定条件的行 2 投影 从数据集合中返回指定的列
  • Vue和React的优缺点

    Vue和React是目前最流行的前端框架之一 它们都有自己的优点和缺点 在这篇文章中 我将会详细介绍Vue和React的优缺点 并给出一些建议 帮助你选择适合自己的框架 一 Vue的优点 1 简单易学 Vue的语法简单易懂 学习曲线较为平缓
  • 关于U盘制作启动盘后内存变小问题的解决

    不需任何工具 只需要输入几个简单命令即可 1 U盘插入电脑然后运行windows的命令窗口 命令窗口打开方式win R后输入 cmd或点击开始菜单 gt gt 运行 gt gt 输入cmd 2 在命令行输入diskpart然后回车 如图所示
  • 爬虫爬取mp3文件例子

    相信训练模型时数据集的获取也是一个很头疼的事情 搞cv领域的可以扛着摄像头架起三脚架拍摄获取 以前干过 但是如果是nlp领域的呢 特别是chatgpt等大模型出来后对这类文本等数据的需求更大 如果没有现成的数据集的话基本上很难自己创造数据
  • vue自定义指令实现按钮鉴权

    vue中提供了创建自定义指令api directives 一般接口返回权限表如下 在路由守卫中用户登录情况下获取权限 并提交mutations存储在 vuex中 ajax获取菜单数据 let menuList permissions awa
  • vant+vue3+ts 的滑块验证

    vant vue3 ts 的滑块验证 效果图
  • SpringBoot可执行包结构

    相对于传统的JAVA可执行包 jar文件 SpringBoot的包结构有比较大的不一样 标准的JDK定义的jar文件里面是不能够有内嵌jar文件的 所以通常我们在执行一个jar文件里面的应用程序时 还需要通过 classpath来告诉JDK
  • Atcoder beginner contest 303

    A Similar String AC代码 include
  • 动物森友会【科大讯飞杯L题】【二分答案+最大流】

    题目链接 有N个物品 一周有7天 然后呢 要对应的每个物品都要达到各自的需求数量 于是问 最少需要几天才可以达到要求 很明显的 这是线性关系的 我们可以用二分答案来解决这个问题 然后呢怎么知道是否满足条件也就是来确定的 要满足每个物品都要拿
  • [Unity3D]第一人称角色控制器

    Unity3D 最简单最详细的第一人称角色控制器 自学Unity3D有一段时间了 一直想弄一个第一人称角色控制器 网上还是有很多教程和资料 但感觉有很多教程和资料理解起来比较复杂 在这里我结合网上所学的知识自己写了一个比较容易理解的Unit
  • python爬虫归纳_【知识归纳】史上最全的Python爬虫抓取技巧总结

    原标题 知识归纳 史上最全的Python爬虫抓取技巧总结 一 最基本的抓站 import urllib2 content urllib2 urlopen http XXXX read 二 使用代理服务器 这在某些情况下比较有用 比如IP被封
  • Java-代码审核CodeReview要点总结

    1 颗粒度划分要细 例如 当分组循环一个请求一个服务时 如果其中的一个请求抛出异常 应该在catch中捕获 记录错误日志 让循环继续进行 2 非空判断和边境检查 对数组和集合的判断 对map的key值判断 对list的值得判断 3 错误码和
  • Python中list转换为numpy数组出现的问题

    问题为 现有的数据list LuKou train DF KnownCameraTrajec 是一个1000000 30的list数据类型 使用np array list LuKou train DF KnownCameraTrajec 转
  • Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager

    在最近创建新项目时遇到如题的错误 在重新删除build tools 31版本后还是报错 其实不需要将SDK构建工具从31降为30或更改编译SDK版本 主要问题是SDK build tools31 缺少两个文件 dx bat dx jar 解
  • 记一次SpringBoot项目的Invalid bound statement (not found)错误

    目录 一 前言 二 解决方案 1 第一种 语法错误 2 第二种 编译错误 3 第三种 配置错误 4 第四种 粗心大意 三 写在后面 一 前言 今天写项目的过程中突然报错 Invalid bound statement not found 百