PageUtil.java
import com.google.common.collect.Lists;
import com.jd.platform.hotkey.dashboard.common.domain.Page;
import org.springframework.util.CollectionUtils;import java.util.ArrayList;
import java.util.List;public class PageUtil {/*** 通用分页工具类*/public static <T> Page<T> pagination(final List<T> data, final int pageSize,final int pageNum) {if (CollectionUtils.isEmpty(data)) {return new Page<>(1, 0, new ArrayList<>());}List<List<T>> lists = Lists.partition(data, pageSize);int localPageNum = pageNum;if (localPageNum >= lists.size()) {localPageNum = lists.size() - 1;}return new Page<>(localPageNum, data.size(), lists.get(localPageNum));}
}
Page.java
import java.io.Serializable;
import java.util.List;public class Page<T> implements Serializable {private static final long serialVersionUID = 1L;/**当前第几页*/private Integer page;/**总共多少条*/private int total;private List<T> rows;public Page(Integer page, int total, List<T> rows) {this.page = page;this.total = total;this.rows = rows;}public Integer getPage() {return page;}public void setPage(Integer page) {this.page = page;}public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public List<T> getRows() {return rows;}public void setRows(List<T> rows) {this.rows = rows;}@Overridepublic String toString() {return "Page{" +"page=" + page +", total=" + total +", rows=" + rows +'}';}
}