問題描述:
項目中使用了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默認值保持一致