业务场景:分页查询的数据在两张表,而且不在同一个服务,所以要做手动分页
代码如下:
public static <T> List<T> pageList(int page, int size, List<T> data) {
List<T> list = new ArrayList();
if (CollectionUtil.isNotEmpty(data)) {
int pageNum = 1;
int pageSize = 10;
if (page > 0) {
pageNum = page;
}
if (size > 0) {
pageSize = size;
}
int start = 0;
int end = data.size();
if (data.size() >= (pageNum - 1) * pageSize) {
start = (pageNum - 1) * pageSize;
if (pageNum * pageSize < data.size()) {
end = pageNum * pageSize;
}
} else {
end = 0;
}
list = data.subList(start, end);
return list;
} else {
return list;
}
}
其中page是第几页,size是这一页的数量,data是查询出的数据,返回值是分页之后的list