Mybatis操作sql报错ibatis.binding.BindingException: Parameter ‘empId‘ not found.

你们好,我是金金金。

场景

  • 在使用Mybatis操作sql语句过程当中,更新操作,报错信息如下:Caused by: org.apache.ibatis.binding.BindingException: Parameter 'empId' not found. Available parameters are [arg1, arg0, param1, param2],未找到参数"empId"。 可用参数为 [arg1, arg0, param1, param2]

附上代码

  • mapper接口
  • mapper.xml文件
  • test

排查

  • 从报错信息得知:可用参数为[arg1, arg0, parma1, param2],mybatis底层是做了处理的,这种写法是识别不到你自定义写的字段的,可以使用arg0,或者parma1来替代使用,arg0代表的是第一个参数,parima则是从1开始。

我这里就测试arg0和arg1这种方式了。

可以看到没有任何问题,但是不推荐上面这种写法,参数多了容易混淆,导致蒙蔽,以下有一种更好的写法,请继续往下看

解决

  • 使用@Param注解标记方法参数,明确指定参数的名称,这样xml文件就可以识别到了

测试

没毛病!!!

  • 编写有误还请大佬指正,万分感谢。
相关推荐
l1t5 分钟前
利用Duckdb求解Advent of Code 2025第9题 最大矩形面积
数据库·sql·算法·duckdb·advent of code
染指111012 分钟前
70.渗透-Mysql基础-创建数据库
数据库·mysql
LFly_ice23 分钟前
Nest-管道
android·java·数据库
熊小猿33 分钟前
学生管理系统(前后端+数据库)完整思路总结
数据库
綝~39 分钟前
MySQL的相关内容
数据库·mysql
思成不止于此41 分钟前
【MySQL 零基础入门】DQL 核心语法(一):学生表基础查询与聚合函数篇
数据库·笔记·学习·mysql
nbsaas-boot1 小时前
MySQL 中如何实现类似 SQL Server SELECT INTO 的表复制能力(生产级实践指南)
数据库·mysql
独泪了无痕1 小时前
COALESCE函数:处理NULL值的利器
sql·mysql·函数式编程
2503_930123931 小时前
Redis群集的三种模式详解
数据库·redis·缓存
云和数据.ChenGuang1 小时前
openEuler 上安装与部署 Redis 的完整技术教程
数据库·redis·缓存