org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.

本文介绍了在使用MyBatis时遇到的参数未找到异常,问题出现在接口方法参数与Mapper.xml文件中的参数关联不匹配。解决方法是通过在接口方法参数上使用@Param注解,为每个参数指定别名,确保与XML配置文件中的参数名一致。此方法适用于方法参数数量大于1的情况,确保MyBatis能正确解析和绑定参数。

一、问题

mybatis报错:org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'limit' not found. Available parameters are [arg2, offset, param3, userId, param1, param2]

二、解决方法

对于mybatis的接口类中的方法

当方法参数数量大于1时,需要在方法参数中使用@Param把函数参数与Mapper.xml文件中的参数关联

@Mapper
public interface DiscussPostMapper {
    //offset:第几行 limit:显示几条
    List<DiscussPost> selectDiscussPostsById(@Param("userId") int userId,@Param("offset")int offset,@Param("limit")int limit);
    //1. @Param注解用于给参数取别名
    //2. 如果这个方法只有一个参数,并且在<if>里使用,则必须取别名
    int selectDiscussPostRows(@Param("userId") int userId);
}

解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值