Parameter ‘XXX‘ not found.Available parameters are [arg2, arg1, arg0, param3, param1, param2]

1.我的错误信息如下:

org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'modifiedUser' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]
这是我原来定义的方法:

    Integer updateDefaultByAid(
            Integer aid,
            String modifiedUser,
            Date modifiedTime
    );

2.错误原因

mybatis 在mapper.xml 里查询数据库数据时,不支持传多个参数查询

UPDATE t_address
SET is_default = 1,
modified_user = #{modifiedUser},
modified_time = #{modifiedTime }
WHERE aid = #{aid}

3.解决方法

(1)将参数设为对象
Integer updateDefaultByAid(Address address);
(2)参数前加@Param注解(推荐使用)
Integer updateDefaultByAid(
@Param(“aid”) Integer aid,
@Param(“modifiedUser”) String modifiedUser,
@Param(“modifiedTime”) Date modifiedTime
);
补充:
当SQl语句的占位符和映射接口方法的参数名不一致时,需要将某个参数强行注入到某个占位符变量上时,可以使用@Param这个注解来标注映射的关系(@Param(“占位符的参数名”) 数据类型 自己定义的参数名)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值