不使用mybatis的@Param有的报错有的却不报错问题

2023-11-02

前几天更换电脑重新安装新的idea发现在dao层,有的同事没有使用@Param注解,导致系统报错
错误如下:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘uid’ not found. Available parameters are [arg1, arg0, param1, param2]

但是同事的电脑上没有使用@Param,也可以正常运行.

同一套代码在不同电脑上跑出来的结果不一样,那可以肯定两台电脑的运行环境肯定有所不同。

然后我就去网上寻找解决问题的方法

看到的第一种解决方式:

说是新版本的idea中默认多了些参数配置,需要删除掉

然后再讲target目录缓存清理掉,重新编译

我试了下,没有效果,还是有相同的错误

看到的第二种解决方式:

也是有个人和我有类似情况,然后他和他同事的不同如下:

直接说结论:我们不同的地方是ojdbc jar包不同,因为maven3不支持下载oracle的ojdbc,所以我通过一个jar包,然后注册到本地maven库里面。我将以前的maven库删除,使用同事的jar包注册,再clean,compile就可以了。
为什么会出现这种问题暂时还没有搞明白,先记录下来

具体操作:
1.删除 maven\repository\com\oracle 下的文件
2.将ojdbc6-11.2.0.3.jar包放到某一个文件夹下,比如E盘
3.注册ojdbc
mvn install:install-file -Dfile=E:\ojdbc6-11.2.0.3.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
4.clean

在这里插入图片描述

5.然后compile

我去看了下我的maven仓库,并没有对应的包,所以也没有解决

我看到的第三种方式:

在mapper接口上加上@param注解,如下图:

尝试了一下,可以解决这个问题,但是需要修改的地方太多,我们工程中之前都没有加,修改起来十分不方便

我和自己原来工程对比:

发现我再新的环境里配置外部的maven,如下图:

而原来的环境用的idea自带的maven,如下图:

我就改了回去,然后就可以正常使用了。

总结:

1、几种方式可能都能解决,需要自己尝试一下,并看看自己问题产生的原因。

2、这个问题产生的原因是因为没有加@param注解,加上后就没问题,前期开发阶段建议做好规范,避免这个问题产生

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

不使用mybatis的@Param有的报错有的却不报错问题 的相关文章

  • QT QPushButton 通过stylesheet 设置样式

    1 QT QPushButton 通过stylesheet 设置样式 ui gt pushButton gt setStyleSheet QPushButton background color rgba 255 178 0 100 col
  • Mysql8完全卸载教程

    0 备份所有需要保留的数据库 在Navicat中选择对应库表选择导出为Sql文件即可 如果卸载数据库的来由是因为数据库已经无法正常使用打开所以需要卸载数据库进行重新安装的话可以跳过这一步 1 停止所有Mysql相关服务 Win11直接搜索服

随机推荐

  • 农作物地块范围识别(图像分割)

    来源 机器学习AI算法工程 知乎 Now more 本文约5500字 建议阅读15分钟本文为你介绍 以薏仁米作物识别以及产量预测为比赛命题 及对对应获奖的开发算法模型 农作物的资产盘点与精准产量预测是实现农业精细化管理的核心环节 当前 我国
  • Unity实现全景图

    1 前言 实现全景查看有两种方式 一种是创建天空盒 另外一种是全景图渲染到一个球形上 从内球内部看 两者都可以用天空盒材质Skybox实现 2 创建天空盒材质 先创建一个材质球命名为Sky 在 Shader 下拉选单中 单击 Skybox
  • 【JavaScript 逆向】521 加速乐多层响应 Cookie 逆向

    前言 现在一些网站对 JavaScript 代码采取了一定的保护措施 比如变量名混淆 执行逻辑混淆 反调试 核心逻辑加密等 有的还对数据接口进行了加密 这次的案例是对加速乐 AAEncode OB 混淆方式的破解 声明 本文章中所有内容仅供
  • Hadoop使用

    1 常用命令 1 namenode格式化 hdfs namenode format 2 启动历史服务器 mapred daemon start historyserver 或者mr jobhistory daemon sh stop his
  • Git仓库版本的回退/前进

    前言 版本库做为一个可迭代更新的仓库 不可能只是单纯提供版本更新操作 其最重要的还是提供了历史版本回滚功能 在使用版本回滚功能前 我们会使用一系列的辅助查询命令 比如查看版本信息 仓库状态能命令 辅助是否需要进行回滚操作 一 查看版本信息
  • 运算放大器的应用(一)放大器

    在硬件电路设计中 运算放大器的应用非常广泛 今天来记录一下作为放大器的应用和公式推导 放大器典型电路 根据放大器基本原理 虚短 特性可知 U0 U1 根据 虚断 特性可知 U1点电流近似为0 则流过R1的电流等于流过R2的电流 根据欧姆定律
  • Photoshop 2023 Beta 内置Ai绘图功能介绍&安装教程

    距离Adobe软件公司首次将图像编辑及数字绘画软件Photoshop推出到大众面前已经过去35年 最近该公司又再次书写了属于Photoshop的历史新篇章 最近 Adobe 宣布 Photoshop Beta 迎来更新 新增 创意填充 Ge
  • linux下使用selenium

    1 需要linux安装chrome浏览器 安装命令 yum localinstall google chrome stable current x86 64 rpm 2 得的谷歌浏览器版本号 根据版本号选择最接近的内核版本 linux命令
  • 反射获取类的成员变量值

    public class ClassFieldTest public ClassFieldTest List
  • machine unlearning 论文阅读笔记

    文章目录 前言 概要 导论 unlearning 定义 SISA 系统 时间复杂度 实验测试 总结 前言 做一篇发表在顶会S P 4 2 n d 42 nd
  • Connection reset by peer

    今天升级完openssh8 6以后突然发现无法连接服务器了 注意前提是升级成功了 连接时报错如下 Connection reset by peer 解决方案 使用root执行命令 echo sshd ALL gt gt etc hosts
  • 【mcuclub】水流量检测模块-YF-S401

    一 实物图 型号 YF S401 二 原理图 编号 名称 功能 1 VCC 电源正 红色线 2 GND 电源地 黑色线 3 OUT 输出引脚 黄色线 三 简介 水流量传感器主要由塑料阀体 水流转子组件和霍尔传感器组成 它装在电器的进水端 用
  • JVM--调优--03--开发配置

    JVM 调优 03 开发配置 1 本地配置 Xmx1g Xms1g Xmn900m XX UseG1GC Xloggc gc log XX PrintGCDetails 2 linux tomcat 配置 进入tomcat的bin目录 修改
  • 软工作业 双人项目代码规范

    双人项目代码编写规范 蔡东杰 房林尧 以下共分为四个部分 缩进代码 命名规则 代码注释 异常处理 部分规范已做实例说明 后续编代码时需要严格遵守 一 关于缩进代码 一行里面只写一行代码 包括定义变量 一行只定义一个 左括号和后一个字符之间不
  • Java分支和循环语句及方法的使用

    1 分支语句No3 顺序语句 分支语句 循环语句 1 1 分支语句 选择结构 分支语句满足某种条件则执行某一部分 满足另一种条件则执行另一部分 1 2 if语句 简单分支语句 if boolean类型表达式 语句 如果小括号中的表达式成立
  • STM32中断知识点简介

    中断服务函数存放路径为启动文件 startup stm32f10x hd 1 常用的中断服务函数 外部中断服务函数 EXTI0 IRQHandler EXTI0 IRQn EXTI1 IRQHandler EXTI1 IRQn EXTI2
  • jenkins默认会存放目录

    jenkins默认会存放在用户主目录下的 jenkins文件夹中 如 Linux root用户 root jenkins 注意 这是linux版本的 windows系统请自行更改 这个值在Jenkins运行时是不能更改的 请先将Jenkin
  • 自定义coco数据集

    1 环境 anaconda环境安装配置 2 工具 安装labelme工具 3 安装软件 3 1 打开anaconda控制台 3 2 创建虚拟环境 conda create n labelme python 3 7 3 3 激活环境 cond
  • 函数调用栈

    函数调用栈 我们在编程中写的函数 会被编译器编译为机器指令 写入可执行文件 程序执行的时候 会把这个可执行文件加载到内存 在虚拟地址空间中的代码段存放 如果在一个函数中调用另一个函数 编译器就会对应生成一条call指令 当程序执行到这条ca
  • 不使用mybatis的@Param有的报错有的却不报错问题

    前几天更换电脑重新安装新的idea发现在dao层 有的同事没有使用 Param注解 导致系统报错 错误如下 org mybatis spring MyBatisSystemException nested exception is org