我想用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);