问题描述:
项目中使用了MyBatis分页插件,调用以下方法实现分页,无论传入JavaBean还是Map都报错:分页查询缺少必要的参数:XXX
Map<String, Object> params = new HashMap<String, Object>();
params.put("pageNum", 1);
params.put("pageSize", 10);
PageHelper.startPage(Object params);
pom依赖如下:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.10</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-autoconfigure</artifactId>
<version>1.2.3</version>
</dependency>
properties分页配置如下:
#pageHelper configuration
pagehelper.helperDialect=mysql
pagehelper.reasonable=false
pagehelper.supportMethodsArguments=false
pagehelper.offsetAsPageNum=true
pagehelper.rowBoundsWithCount=true
pagehelper.pageSizeZero=true
pagehelper.params=pageNum=pageHelperStart;pageSize=pageHelperRows;count=countSql
错误原因:
pagehelper.params配置的参数值,和Map的key值或JavaBean的属性名不一致
pagehelper.params
为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值
可以配置:pageNum,pageSize,count,pageSizeZero,reasonable 若不配置则使用默认值
默认值为:pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
解决方案:
不使用pagehelper.params参数,Map的key值或JavaBean的属性名,要与pagehelper.params默认值保持一致