簡介
說明
代碼
工具類
package com.knife.router4j.server.common.util;
import com.knife.router4j.server.common.entity.PageRequest;
import com.knife.router4j.server.common.entity.PageResponse;
import java.util.List;
public class PageUtil {
public static <T> PageResponse<T> toPage(List<T> list, PageRequest pageRequest){
int startIndex = (int) (pageRequest.getCurrent() * pageRequest.getSize());
int allSize = list.size();
int dataSize = allSize - startIndex;
List<T> listResult = list.subList(startIndex, dataSize - startIndex);
PageResponse<T> pageResponse = new PageResponse<>();
pageResponse.setSize(pageRequest.getSize());
pageResponse.setCurrent(pageRequest.getCurrent());
pageResponse.setTotal(allSize);
pageResponse.setDataList(listResult);
return pageResponse;
}
}
分頁請求
package com.knife.router4j.server.common.entity;
import lombok.Data;
@Data
public class PageRequest {
/**
* 每頁的大小
*/
private long size;
/**
* 目前是第幾頁
*/
private long current;
}
分頁響應
package com.knife.router4j.server.common.entity;
import lombok.Data;
import java.util.List;
@Data
public class PageResponse<T> {
/**
* 每頁的大小
*/
private long size;
/**
* 目前是第幾頁
*/
private long current;
/**
* 總的資料個數
*/
private long total;
/**
* 資料清單
*/
private List<T> dataList;
}
用法
PageUtil.toPage(list, pageRequest);