【解决方法】org.apache.ibatis.binding.BindingException: Parameter ‘***‘ not found.

文章描述了在学习项目时遇到的MyBatisBindingException,关于username参数未找到的问题。作者分享了两种解决方案,即添加Param注解和修改SQL语句参数,同时提到在某些IDEA版本中,即使Mapper接口形参未改变,仍能直接使用原形参,引发的异常可能与IDEA版本相关,寻求解答。
摘要由CSDN通过智能技术生成

学习一个项目的过程中,发现了一个很奇怪的问题。

首先报错如下:

org.apache.ibatis.binding.BindingException: Parameter 'username' not found. Available parameters are [arg1, arg0, param1, param2]

原来出错的mapper:

解决方案一:添加Param注解

解决方案二:SQL语句内的参数改为arg或者param

原因:点击target目录进入编译好的mapper接口中,可以看到,原本的参数变为了var。

但是还有一种情况如下图所示,编译好的mapper接口中形参并未发生改变,可以直接在SQL语句中使用原本的形参而不会出现 上述Parameter '***' not found异常,不知道是不是IDEA版本的原因还是其它什么原因,希望有大佬能够解答一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值