我正在尝试在Spring Data JPA中实现分页功能。
我是referring this博客
我的 Controller 包含以下代码:
@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条记录???
还有其他我可以引用的分页示例吗?
最佳答案
我上周见过类似的问题,但找不到它,所以我将直接回答。
您的问题是您指定参数太晚了。 Pageable
以下列方式工作:创建具有某些属性的Pageable
对象。您至少可以指定:
因此,假设我们有:
PageRequest p = new PageRequest(2, 20);
上面传递给查询的内容将过滤结果,因此仅返回第21到第40的结果。
您不对结果应用
Pageable
。您将其与查询一起传递。编辑:
不推荐使用
PageRequest
的构造方法。使用Pageable pageable = PageRequest.of(2, 20);
关于java - 在Spring Data JPA中创建分页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40714707/