定义结果类 用来封装 结果(data-分页结果集合 、pageNo-页数 、pageSize-每页数量 、total-总数量)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageResult{
private List<EnforcePlanInfo> data;
private Integer pageNo;
private Integer pageSize;
private Integer total;
}
定义分页方法 对结果进行封装 返回期望结果
public static pageResult getPageListResult(List<XXX> data, Integer pageNo, Integer pageSize) {
PageResult result = new PageResult();
List<XXX> list = new ArrayList<>();
if (data != null && pageNo != null && pageSize != null) {
if (pageNo == 1) {
for (int i = 0; i < data.size(); i++) {
if (i <= pageNo * pageSize - 1) {
list.add(data.get(i));
}
}
}
if (pageNo != 1 && pageNo * pageSize <= data.size()) {
for (int i = 0; i < data.size(); i++) {
if (i == pageNo * pageSize - 1) {
list.add(data.get(i));
}
}
}
result.setData(list);
result.setPageNo(pageNo);
result.setPageSize(pageSize);
result.setTotal(data.size());
return result;
}
return new planInfoPageListResult(null, pageNo, pageSize, 0);
}
调用~
List<XXX> list = XXXMapper.select(vo);
PageResult result = getPageListResult(list, vo.getPageNo(), vo.getPageSize());