gpt4 book ai didi

java - 如何在 Spring Boot 中选择理想的分页方式?

转载 作者:行者123 更新时间:2023-11-30 06:44:09 25 4
gpt4 key购买 nike

我需要您对分页的建议。

我的表数据很长。因此我使用分页和每个分页操作 © 从数据库调用数据
我在 spring-boot 应用程序中有一个 rest 方法。
此方法可以从数据库中获取数据,一切正常。
我需要页面计数(我的数据的所有计数/每页计数)。
我可以从数据库中找到这个计数。
我必须为 allCount 和下面的方法编写两个单独的方法吗?

如何在 Spring boot 中使用理想的分页方式?

  @CrossOrigin(maxAge = 3600)
@RequestMapping(value = "/payment/all", method = RequestMethod.POST)
public List<NotaryPaymentInformationEntity> getAllProduct(@RequestBody PaginationModel pag){
try {
System.out.println(pag.getPageno()+ " " + pag.getRecords());
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Pageable pageable = new PageRequest(pag.getPageno(), pag.getRecords());
System.out.println("here"+notaryPaymentRepository.findAll(pageable).getContent().size());
return notaryPaymentRepository.findAll(pageable).getContent();
}




public interface NotaryPaymentRepository extends JpaRepository<NotaryPaymentInformationEntity,Integer>{


}

enter image description here

最佳答案

您可以在 Page 类 obj 中获得查询的响应,它扩展了 Slice 类并具有您需要的所有方法。

Pageable pageable = new PageRequest(pageNo, PAGE_SIZE);

pageNo和PAGE_SIZE需要从客户端发送

@Query(value = "SELECT h FROM {NameOfYourModelClass} h")
Page<HorseWatch> getPaginatedModel(Pageable pageable);

从您的服务类调用此方法并在 Page 对象中检索它

可以使用(using getContent(),getNumber(),getTotalPages() 来自对象 )

将这些值保存在您的响应类中并将此类发送回客户端

public class PageResponse {
private List<{NameOfModelClass}> content;
private int currentPage;
private int totalPages;
}

关于java - 如何在 Spring Boot 中选择理想的分页方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51097962/

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