Java分页查询:使用Stream API实现分页获取教练数据
使用 Java Stream API 实现分页查询教练数据
本文介绍使用 Java Stream API 实现分页查询教练数据,并计算总页数的方法。
示例代码:
List<CoachDto> coachDtoListByPage = coachDtoList.stream()
.skip((long) (queryRequest.getPageNum() - 1) * queryRequest.getPageSize())
.limit(queryRequest.getPageSize())
.collect(Collectors.toList());
int totalPages = (int) Math.ceil((double) coachDtoList.size() / queryRequest.getPageSize());
代码解析:
coachDtoList.stream():将教练数据列表转换为 Stream 对象。.skip((long) (queryRequest.getPageNum() - 1) * queryRequest.getPageSize()):跳过前(pageNum - 1) * pageSize条数据,获取当前页数据。.limit(queryRequest.getPageSize()):限制获取当前页的pageSize条数据。.collect(Collectors.toList()):将筛选后的数据收集到一个新的 List 中,即coachDtoListByPage。int totalPages = (int) Math.ceil((double) coachDtoList.size() / queryRequest.getPageSize()):计算总页数,使用Math.ceil()方法向上取整,确保能获取到所有数据。
优点:
- 使用 Stream API 实现分页查询代码简洁,易于理解。
- 代码可读性高,易于维护。
注意:
queryRequest.getPageNum()和queryRequest.getPageSize()分别代表要获取的页码和每页数据量。- 该代码示例只展示了基本的分页功能,实际应用中可能需要根据具体需求进行修改。
原文地址: https://www.cveoy.top/t/topic/qhMW 著作权归作者所有。请勿转载和采集!