idea报错:Parameter ‘userName‘ not found. Available parameters are [userinfo, param1]] with root cause

当运行IDEA时遇到参数上传错误,可以尝试三种解决方法:1) 对方法参数加@Param注解;2) 在mapper.xml文件中为参数添加下标;3) 检查DAO层方法,确保@Param不用于整个类,而是直接使用参数。正确做法是去掉@Param注解,直接传入对象。

在我们运行idea时,会有这种错误,这种是参数上传错误造成的,
解决办法有三种:
1.加注解

Userinfo getUserByName(@Param("userName") String userName, @Param("pwd") String pwd);

类似于中加@Param()注解。
2.在 mapper.xml文件里,加下标

<insert id="insert" parameterType="com.example.pojo.SmbmsYonghu">
    insert into smbms_yonghu (id, contact, addressDesc, 
      postCode, tel, createdBy, 
      creationDate, modifyBy, modifyDate, 
      userId)
    values (#{0,jdbcType=BIGINT}, #{1,jdbcType=VARCHAR}, #{2,jdbcType=VARCHAR}, 
      #{3,jdbcType=VARCHAR}, #{4,jdbcType=VARCHAR}, #{5,jdbcType=BIGINT}, 
      #{6,jdbcType=TIMESTAMP}, #{7,jdbcType=BIGINT}, #{8,jdbcType=TIMESTAMP}, 
      #{9,jdbcType=BIGINT})
  </insert>

3.如果以上两种方法还是不行 ,就可以看看你的dao层 是不是这种写法:

 int updata(@Param("userinfo")Userinfo userinfo);//这是错误的写法

因为@Param()不能加在一个类上,
应该改为

int updata(Userinfo userinfo);

这样才可以

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值