org.apache.ibatis.binding.BindingException: Parameter 'nickname' not found. Available parameters are

在使用mybatis遇到了一个找不到参数的问题,本着学习的态度跟了下源码,经过一步一步的源码发下,mybatis默认使用参数下标作为参数名称对参数赋值,即0、1、2等等这些参数名称,只有当使用注解显示标注参数名称才会使用指定的参数名称,举例说明情况

        栗子1 

在mapper的xml文件中的sql如下

       select id,username,password  from u_user  where  username=#{username} and passsword=#{password}

      mapper类中如下

     User  getUser(String username,String password)

     则上面写法就会报org.apache.ibatis.binding.BindingException: Parameter 'nickname' not found错误

原因如下:

org.apache.ibatis.binding.BindingException: Parameter nickname not found. Available parameters are [1, 0, param1, param2] - m15627293516 - 许康銮个人博客

 解决办法:

1 sql改为:select id,username,password  from u_user  where  username=#{0} and passsword=#{1}

2 使用注解指定参数名称:

User  getUser(@Param("username")String username,@Param("password")String password)

转载于:https://my.oschina.net/u/3739402/blog/1632524

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值