簡體   English   中英

在 spring 引導中分頁

[英]pagination in spring boot

我是 Java 和 Spring Boot 的初學者,我在 Spring Boot 上使用Pagination ,使用此代碼我返回用戶列表,如果我還想返回頁數,我必須這樣做嗎?

我知道使用getTotalPages()我可以獲得頁數但是如何返回它?

@Service
public class UserService{

    @Autowired
    UserRepository userRepository;

    public List<UserDto> findAll(PageRequest pageRequest){
        Page<User> userPage = userRepository.findAll(pageRequest);
        List<UserDTO> dtos = new ArrayList<UserDTO>();
        //return userPage.getContent();

        for (User u : userPage.toList() ) {
            dtos.add(new UserDTO(u));
        }
        return dtos;
    }
}

Page接口最常見的實現是由PageImpl class提供的,你可以這樣使用:

import org.springframework.data.domain.PageImpl;

...
Page<UserDTO> pageResult = new PageImpl<>(dtos, 
        userPage.getPageable(), 
        userPage.getTotalElements());
return pageResult;

如果你願意,你也可以使用頁面結果的.map() function ,可以根據方法優選。 https://stackoverflow.com/a/39037297/2039546

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM