gpt4 book ai didi

java - spring data jpa limit pagesize,如何设置为maxSize

转载 作者:太空狗 更新时间:2023-10-29 23:01:21 33 4
gpt4 key购买 nike

我有一个要求是按可分页和不可分页进行搜索,

在我的 Java 代码中,我使用 spring data jpa Pageable 类,

 Pageable pageable = new PageRequest(
queryForm.getPageNumber()- 1, queryForm.getPageSize(),Sort.Direction.ASC,"id");
Page page = repository.fullTextSearch(queryForm.getText(), pageable);

而且我不想改变返回结构,

那么当不可分页的情况下(搜索所有),如何将pageSize值设置为MAX?

最佳答案

结合 Spring MVC,您可以使用 PageableDefaults 注释和 value = Integer.MAX_VALUE,例如

public String showUsers(Model model, 
@PageableDefaults(pageNumber = 0, value = Integer.MAX_VALUE) Pageable pageable) { … }

参见 PageableDefaults annotation Javadoc.

在任何其他客户端代码中,您可以将第二个构造函数参数设置为 Integer.MAX_VALUE:

new PageRequest(
queryForm.getPageNumber()- 1,
queryForm.getPageSize() == null ? Integer.MAX_VALUE : queryForm.getPageSize(),
Sort.Direction.ASC,"id");

参见 PageRequest constructor .我假设 queryForm.getPageSize() 是包装器类型而不是原始类型。否则,如果用户未设置 pageSize(有意用于“搜索所有”请求),您将得到一个零。

更新:

从 Spring Data Commons 1.6 开始,您应该使用 PageableDefault 而不是 PageableDefaults

public String showUsers(Model model, 
@PageableDefault(page= 2 ,value = Integer.MAX_VALUE)

参见 PageableDefault annotation Javadoc.

关于java - spring data jpa limit pagesize,如何设置为maxSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23751193/

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