我正在尝试在 Spring Data JPA 中实现分页功能。我 指的是这个 博客我的控制器包含以下代码:
@RequestMapping(value="/organizationData", method = RequestMethod.GET)
public String list(Pageable pageable, Model model){
Page<Organization> members = this.OrganizationRepository.findAll(pageable);
model.addAttribute("members", members.getContent());
float nrOfPages = members.getTotalPages();
model.addAttribute("maxPages", nrOfPages);
return "members/list";
}
我的 DAO 如下:
@Query(value="select m from Member m", countQuery="select count(m) from Member m")
Page<Organization> findMembers(Pageable pageable);
我可以显示前 20 条记录,如何显示接下来的 20 条记录??? 我可以参考其他任何分页示例吗?
原文由 Tejas 发布,翻译遵循 CC BY-SA 4.0 许可协议
上周看到过类似的问题,但是找不到所以直接回答。
您的问题是您指定参数的时间太晚了。
Pageable
工作方式如下:您创建Pageable
具有某些属性的对象。您至少可以指定:所以让我们假设我们有:
上面传递给查询的将过滤结果,因此只返回第 21 到 40 的结果。
您不对结果应用
Pageable
。您将其与查询一起传递。编辑:
PageRequest
的构造函数已弃用。使用Pageable pageable = PageRequest.of(2, 20);