MyBatis3异常:Parameter id not found. Available parameters are [arg2, arg1, arg0

MyBatis3错误:Parameter 'id' not found. Available parameters are [arg2, arg1, arg0,

mybatis在传多个参数时会报这个错,我们传统的#{id},#{start},#{limit}这样不支持,主要是MyBatis3版本,不支持这样传多个参数 

参考:https://www.cnblogs.com/EasonJim/p/7056256.html


<select id="getUserArticlesByLimit" parameterType="int" resultMap="resultUserArticleList">

      select user.id,user.title from user where user.id=#{toUser} limit #{offset},#{pageSize}

</select>

解决办法

第一种方案:在mapper.class类参数前面加个(@Param("参数名")

比如:

List<User> getUserArticlesByLimit(@Param("toUser") int toUser,@Param("offset") int offset,@Param("pageSize") int pageSize);


 

 第二种方案:在mapper.xml sql里改为#{arg0},#{arg1},#{arg2} 即可解决


 

 

相关内容推荐