方案一:不需要总页数时去掉count
PageHelper.startPage(1, 10);
// 去掉count
PageHelper.getLocalPage().setCount(false);
List<String> userList = userDAO.listUser();
PageInfo pageInfo = new PageInfo(baseParamDOList);
PageInfo结果示例:
{"total": -1,"list": [],"pageNum": 1,"pageSize": 15,"size": 15,"startRow": 1,"endRow": 15,"pages": 1,"prePage": 0,"nextPage": 0,"isFirstPage": true,"isLastPage": true,"hasPreviousPage": false,"hasNextPage": false,"navigatePages": 8,"navigatepageNums": [1],"navigateFirstPage": 1,"navigateLastPage": 1
}
方案二:使用Oracle9iDialect
PageHelper5.2.0提供了2个Dialect,分别是oracle、oracle9i:
-- OracleDialect 外层控制范围
WHERE ROW_ID <= ? AND ROW_ID > ?-- Oracle9iDialect 内外分别控制范围
TMP_PAGE WHERE ROWNUM <= ? ) WHERE ROW_ID > ?
配置文件:
<property name="helperDialect" value="oracle"/>
<!-- 或 -->
<property name="helperDialect" value="oracle9i"/>
参考:
pagehelper之百万级数据查询优化
PageHelper5在Oracle查询变慢的问题解决
Mybatis 5.2.0