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文件就可以识别到了

测试

没毛病!!!

  • 编写有误还请大佬指正,万分感谢。
相关推荐
weixin_444012932 小时前
CSS Flex布局中如何实现导航栏与Logo的左右分布_利用justify-content- space-between
jvm·数据库·python
彳亍1012 小时前
Less如何优化CSS文件大小_利用压缩配置去除冗余样式
jvm·数据库·python
m0_748554812 小时前
SQL如何防止JOIN查询导致数据库宕机_查询超时限制与资源管理
jvm·数据库·python
m0_748554812 小时前
React 中的渲染(Rendering)机制详解
jvm·数据库·python
SelectDB2 小时前
时间序列近邻关联性能实测:Doris ASOF JOIN 领先 ClickHouse、DuckDB
大数据·数据库·数据分析
Mike117.2 小时前
GBase 8c 逻辑复制槽停住以后,xlog 为什么越堆越多
数据库·oracle
2401_880071402 小时前
html怎么用jekyll转换_Jekyll博客如何导入传统HTML页面
jvm·数据库·python
tellmewhoisi2 小时前
多版本共用redis导致数据没及时更新报错
数据库·redis·缓存
taocarts_bidfans3 小时前
Taoify与Redis、Nginx集成实战:提升跨境独立站性能与并发能力
数据库·redis·nginx·跨境电商·独立站
丑八怪大丑3 小时前
JDBC基础篇
java·sql