Spring Boot中的可分页[重复]
Posted
技术标签:
【中文标题】Spring Boot中的可分页[重复]【英文标题】:Pageable in Spring boot [duplicate] 【发布时间】:2020-11-29 12:11:05 【问题描述】:我想将“ownDemand”作为需求页面返回。我该怎么做呢
@Override
public Page<Demand> getDemandbyId(Long id, Pageable pageable)
Iterable<Demand> alldemand = demandRepository.findAll();
List<Demand> ownDemand = new ArrayList<Demand>();
for (Demand demand : alldemand)
if(demand.getStore().getId()==id)
ownDemand.add(demand);
return null;
需求库
@RestResource
public interface DemandRepository extends JpaRepository<Demand,Long>
【问题讨论】:
请添加您的DemandRepository
和实体类,如Demand
。您可以使用可分页方法调用 findAll
@User-Upvotedon'tsayThanks,但我不想返回 findAll 我想要返回具有 id 的商店的要求,当我实例化 PageDemand
实例(内存、性能)时,这将导致问题。只需为它编写一个适当的查询(方法)。 Page<Demand> findAllByStoreId(Long storeId, Pageable page)
之类的东西;它将准确返回您需要的内容,并使用数据库的强大功能,而不是提取内存中的所有内容并进行分页和过滤。
【参考方案1】:
为什么不像这样向你的 DemandRepository 添加一个方法
Page<Demand> findAllByStore(Store store, Pageable page)
当然,这假定 StoreEntity 与 Demand 相关。
【讨论】:
【参考方案2】:试试下面:
demandRepository.findAll(PageRequest.of(0, 2))
通过签名返回页面。根据您的需要更改 PageRequest。
【讨论】:
但是我不想返回 findAll 我想要返回具有 id 的商店的需求,因为我实例化 Page以上是关于Spring Boot中的可分页[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Kendo Grid,如何更改 Angular 中的可分页文本(页数、项目数)?
markdown Laravel的可分页Collection实现