Parameter ‘pageNum‘ not found. Available parameters are [arg1, arg0, param1, param2]
Parameter 'pageNum' not found. Available parameters are [arg1, arg0, param1, param2]报错原因以及解决方法
·
报错
在进行分页查询时出现了如下错误:
org.apache.ibatis.binding.BindingException: Parameter 'pageNum' not found. Available parameters are [arg1, arg0, param1, param2]
分析原因
意思就是报错内容说无法获取名为’pageNum’的元素,可以获取的元素是[arg1, arg0, param1, param2]。我们的mybatis没有获取这个参数。
解决
我的代码块
@Select("select * from user Limit #{pageNum}, #{pageSize}")
List<User> selectPage(Integer pageNum, Integer pageSize);
修改正确之后的代码块
List<User> selectPage(@Param("pageNum") Integer pageNum, @Param("pageSize") Integer pageSize);
修改之后在也是成功的获取了分页内容
使用注解@Param(“XXX”)来完成。
1.当只有一个参数时,Mapper/Dao层中的方法是可以不使用注解的。比如插入数据的时候:
public void insertAdmin(String username);
2.多个参数时必须用@Param(“XXX”)来指明:
比如做登录验证的时候:
public void insertAdmin(@Param("username")String username,@Param("password")String password);
此时在运行就不会再报错了。
注意
在Mapper上使用@select注解编写SQL语句,就不能在xml文件中编写对应的SQL语句,不然会报错,二中择一,建议还是在xml中写SQL语句,规范代码。
更多推荐
已为社区贡献1条内容
所有评论(0)