一、问题

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);
}

解决

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐