我想用Spring Data Mongo实现分页。有许多教程和文档建议使用PagingAndSortingRepository,如下所示:

StoryRepo extends PagingAndSortingRepository<Story, String>{}

因此,由于PagingAndSortingRepository提供了用于分页查询的api,因此我可以像这样使用它:
Page<Story> story = storyRepo.findAll(pageable);

我的问题是,这里的findAll方法实际上在哪里实现?我需要自己编写其实现吗?
实现StoryRepo的StoryRepoImpl需要实现此方法吗?

最佳答案

您不需要实现该方法,因为当您 Autowiring Spring对象PagingAndSortingRepository时,它会自动为您实现该方法。

请注意,由于您使用的是Mongodb,因此可以扩展MongoRepository。

然后在Spring中,使用以下命令启用分页:

@RequestMapping(value="INSERT YOUR LINK", method=RequestMethod.GET)
  public List<Profile> getAll(int page) {
    Pageable pageable = new PageRequest(page, 5); //get 5 profiles on a page
    Page<Profile> page = repo.findAll(pageable);
    return Lists.newArrayList(page);

10-06 06:49