在Spring Data JPA中创建分页

时间:2016-11-21 07:16:44

标签: java spring spring-boot spring-data spring-data-jpa

我正在尝试在Spring Data JPA中实现分页功能。 我是referring this博客 我的控制器包含以下代码:

LatLng

我的DAO正在关注:

 @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"; 
  }

我能够显示前20条记录,如何显示下一条20 ???  有没有其他可以参考的分页示例?

2 个答案:

答案 0 :(得分:5)

不建议使用Pageable的构造函数,而应使用of()

Pageable pageable = PageRequest.of(0, 20);

答案 1 :(得分:2)

上周我见过类似的问题,但找不到,所以我会直接回答。

您的问题是您指定的参数太晚了。 Pageable的工作方式如下:使用某些属性创建Pageable对象。您至少可以指定:

  1. 页面大小,
  2. 页码,
  3. 分拣。
  4. 所以我们假设我们有:

    PageRequest p = new PageRequest(2, 20);
    

    以上传递给查询将过滤结果,因此只返回21日至40日的结果。

    您不会对结果应用Pageable。您通过查询传递它。