我想在我的网站中启用“加载更多”功能。 由于我是使用Spring JPA从远程数据库中获取数据的,所以我想知道如何在Spring中实现这种功能?
基本上,我想做的是在第一次REST调用中仅加载100条记录。如果用户单击“加载更多”,那么我将对我停止的最后一个索引中的另外100条记录(意味着记录101-200)执行新的调用,依此类推。
如果需要,我可以通过HTTP POST发送开始和结束索引。这是我的资料库:
{{1}}
您有什么建议吗?
答案 0 :(得分:1)
您可以使用Pageable
或PagingAndSortingRepository<T, ID>
来满足您的要求。
通过扩展PagingAndSortingRepository,
,我们可以得到用于分页和排序的f indAll(Pageable pageable)
和findAll(Sort sort)
方法。
一旦我们的存储库从PagingAndSortingRepository扩展,我们只需要:
示例:
public interface ProductRepository extends PagingAndSortingRepository<Product, Integer> {
List<Product> findAllByPrice(double price, Pageable pageable);
}
Pageable firstPageWithTwoElements = PageRequest.of(0, 2);
Pageable secondPageWithFiveElements = PageRequest.of(1, 5);
Page<Product> allProducts = productRepository.findAll(firstPageWithTwoElements);
List<Product> allTenDollarProducts =
productRepository.findAllByPrice(10, secondPageWithFiveElements);