commit
df19430f91
4 changed files with 256 additions and 4 deletions
@ -0,0 +1,129 @@ |
||||
package com.msdw.tms.util; |
||||
|
||||
import java.util.Arrays; |
||||
import java.util.Collections; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @ProjectName: gzedu |
||||
* @Package: com.huoran.edu.utils |
||||
* @ClassName: ListSub |
||||
* @Description: 集合分页 |
||||
* @Author: Maureen.Rong |
||||
* @CreateDate: 2020/12/3 18:48 |
||||
* @UpdateDate: 2020/12/3 18:48 |
||||
* @Version: 1.0 |
||||
*/ |
||||
public class ListPageUtil<T> { |
||||
/** |
||||
* 原集合 |
||||
*/ |
||||
private List<T> data; |
||||
|
||||
/** |
||||
* 上一页 |
||||
*/ |
||||
private int lastPage; |
||||
|
||||
/** |
||||
* 当前页 |
||||
*/ |
||||
private int nowPage; |
||||
|
||||
/** |
||||
* 下一页 |
||||
*/ |
||||
private int nextPage; |
||||
|
||||
/** |
||||
* 每页条数 |
||||
*/ |
||||
private int pageSize; |
||||
|
||||
/** |
||||
* 总页数 |
||||
*/ |
||||
private int totalPage; |
||||
|
||||
/** |
||||
* 总数据条数 |
||||
*/ |
||||
private int totalCount; |
||||
|
||||
public ListPageUtil(List<T> data, int nowPage, int pageSize) { |
||||
if (data == null || data.isEmpty()) { |
||||
//throw new IllegalArgumentException("暂无数据");
|
||||
this.data = null; |
||||
// this.pageSize = pageSize;
|
||||
// this.nowPage = nowPage;
|
||||
// this.totalCount = data.size();
|
||||
} |
||||
|
||||
this.data = data; |
||||
this.pageSize = pageSize; |
||||
this.nowPage = nowPage; |
||||
this.totalCount = data.size(); |
||||
this.totalPage = (totalCount + pageSize - 1) / pageSize; |
||||
this.lastPage = nowPage - 1 > 1 ? nowPage - 1 : 1; |
||||
this.nextPage = nowPage >= totalPage ? totalPage : nowPage + 1; |
||||
|
||||
} |
||||
|
||||
/** |
||||
* 得到分页后的数据 |
||||
* |
||||
* @return 分页后结果 |
||||
*/ |
||||
public List<T> getPagedList() { |
||||
int fromIndex = (nowPage - 1) * pageSize; |
||||
if (fromIndex >= data.size()) { |
||||
return Collections.emptyList();//空数组
|
||||
} |
||||
if (fromIndex < 0) { |
||||
return Collections.emptyList();//空数组
|
||||
} |
||||
int toIndex = nowPage * pageSize; |
||||
if (toIndex >= data.size()) { |
||||
toIndex = data.size(); |
||||
} |
||||
return data.subList(fromIndex, toIndex); |
||||
} |
||||
|
||||
public int getPageSize() { |
||||
return pageSize; |
||||
} |
||||
|
||||
public List<T> getData() { |
||||
return data; |
||||
} |
||||
|
||||
public int getLastPage() { |
||||
return lastPage; |
||||
} |
||||
|
||||
public int getNowPage() { |
||||
return nowPage; |
||||
} |
||||
|
||||
public int getNextPage() { |
||||
return nextPage; |
||||
} |
||||
|
||||
public int getTotalPage() { |
||||
return totalPage; |
||||
} |
||||
|
||||
public int getTotalCount() { |
||||
return totalCount; |
||||
} |
||||
|
||||
public static void main(String[] args) { |
||||
Integer[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; |
||||
List<Integer> list = Arrays.asList(array); |
||||
|
||||
ListPageUtil<Integer> listPageUtil = new ListPageUtil<Integer>(list, 1, 4); |
||||
List<Integer> pagedList = listPageUtil.getPagedList(); |
||||
System.out.println(pagedList); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,113 @@ |
||||
/** |
||||
* Copyright (c) 2016-2019 人人开源 All rights reserved. |
||||
* <p> |
||||
* https://www.renren.io
|
||||
* <p> |
||||
* 版权所有,侵权必究! |
||||
*/ |
||||
|
||||
package com.msdw.tms.util; |
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage; |
||||
import lombok.Data; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* 分页工具类 |
||||
* |
||||
* @author Mark sunlightcs@gmail.com |
||||
*/ |
||||
@Data |
||||
public class PageUtils implements Serializable { |
||||
private static final long serialVersionUID = 1L; |
||||
/** |
||||
* 总记录数 |
||||
*/ |
||||
private int totalCount; |
||||
/** |
||||
* 每页记录数 |
||||
*/ |
||||
private int pageSize; |
||||
/** |
||||
* 总页数 |
||||
*/ |
||||
private int totalPage; |
||||
/** |
||||
* 当前页数 |
||||
*/ |
||||
private int currPage; |
||||
/** |
||||
* 列表数据 |
||||
*/ |
||||
private List<?> list; |
||||
|
||||
/** |
||||
* 分页 |
||||
* |
||||
* @param list 列表数据 |
||||
* @param totalCount 总记录数 |
||||
* @param pageSize 每页记录数 |
||||
* @param currPage 当前页数 |
||||
*/ |
||||
public PageUtils(List<?> list, int totalCount, int pageSize, int currPage) { |
||||
this.list = list; |
||||
this.totalCount = totalCount; |
||||
this.pageSize = pageSize; |
||||
this.currPage = currPage; |
||||
this.totalPage = (int) Math.ceil((double) totalCount / pageSize); |
||||
} |
||||
|
||||
/** |
||||
* 分页 |
||||
*/ |
||||
public PageUtils(IPage<?> page) { |
||||
this.list = page.getRecords(); |
||||
this.totalCount = (int) page.getTotal(); |
||||
this.pageSize = (int) page.getSize(); |
||||
this.currPage = (int) page.getCurrent(); |
||||
this.totalPage = (int) page.getPages(); |
||||
} |
||||
|
||||
public int getTotalCount() { |
||||
return totalCount; |
||||
} |
||||
|
||||
public void setTotalCount(int totalCount) { |
||||
this.totalCount = totalCount; |
||||
} |
||||
|
||||
public int getPageSize() { |
||||
return pageSize; |
||||
} |
||||
|
||||
public void setPageSize(int pageSize) { |
||||
this.pageSize = pageSize; |
||||
} |
||||
|
||||
public int getTotalPage() { |
||||
return totalPage; |
||||
} |
||||
|
||||
public void setTotalPage(int totalPage) { |
||||
this.totalPage = totalPage; |
||||
} |
||||
|
||||
public int getCurrPage() { |
||||
return currPage; |
||||
} |
||||
|
||||
public void setCurrPage(int currPage) { |
||||
this.currPage = currPage; |
||||
} |
||||
|
||||
public List<?> getList() { |
||||
return list; |
||||
} |
||||
|
||||
public void setList(List<?> list) { |
||||
this.list = list; |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue