gpt4 book ai didi

java - 使用 Spring JPA 加载更多功能

转载 作者:行者123 更新时间:2023-11-29 07:21:11 25 4
gpt4 key购买 nike

我想在我的网站上启用“加载更多”功能。由于我使用 Spring JPA 从远程数据库获取数据,我想知道如何在 Spring 中实现这样的功能?

基本上,我想做的是在第一次 REST 调用时只加载 100 条记录。如果用户点击“加载更多”,那么我将对我停止的最后一个索引中的另外 100 条记录执行新调用(意味着记录 101-200),依此类推。

如果需要,我可以通过 HTTP POST 发送开始和结束索引。这是我的存储库:

@Repository
public interface IStatusRepository extends CrudRepository<StatusDAO,String> {

List<StatusDAO> getStatusByIdAndFqhnIn(String id, List<String> filteredHostList);

}

你有什么建议吗?

最佳答案

您可以使用 PageablePagingAndSortingRepository<T, ID>以满足您的要求。通过让它扩展 PagingAndSortingRepository,我们得到 f indAll(Pageable pageable)findAll(Sort sort)分页和排序的方法。

一旦我们有了从 PagingAndSortingRepository 扩展的存储库,我们只需要:

  1. 创建或获取一个 PageRequest 对象,它是可分页界面
  2. 将 PageRequest 对象作为参数传递给存储库方法我们打算使用

例子:

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);

Paging and Sorting Doc Refer 1 Refer 2

关于java - 使用 Spring JPA 加载更多功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56311275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com