spring data jpa 分页页码起始为0的问题
发布网友
发布时间:2022-04-23 05:03
我来回答
共2个回答
热心网友
时间:2022-05-01 22:15
返回时,重写getNumber父类加1,接受参数时-1
public class PageNumber<T> extends PageImpl<T> implements Page<T>{
/**
* 前台传参1为起始页修改为spring data jpa的0为起始页
* @param pageable
* @return
*/
public static Pageable pageRequest(Pageable pageable){
return new PageRequest(pageable.getPageNumber()-1,pageable.getPageSize(),pageable.getSort());
}
/**
* Constructor of {@code PageImpl}.
*
* @param content the content of this page, must not be {@literal null}.
* @param pageable the paging information, can be {@literal null}.
* @param total the total amount of items available. The total might be adapted considering the length of the content
*/
public PageNumber(List<T> content, Pageable pageable, long total) {
super(content, pageable, total);
}
/**
* 重写当前页,将当前页加1返回前台,spring data jpa起始页0加1后返回前台
* @return
*/
@Override
public int getNumber() {
return super.getNumber()+1;
}
}
public Page<PermissionEntity> findAll(Pageable pageable) {
Page<PermissionEntity> permissionEntityPage = permissionEntityRepository.findAll(pageable);
return new PageNumber<>(permissionEntityPage.getContent(),pageable,permissionEntityPage.getTotalElements());
}
@GetMapping("/permission")
@ResponseBody
public Page<PermissionEntity> permission(@PageableDefault Pageable pageable){
return permissionEntityService.findAll(PageNumber.pageRequest(pageable));
}
热心网友
时间:2022-05-01 23:33
在分页符后的第一页击活页眉页角,设置页码选项为续前页或同前。