JAVA8的分页工具

互联网 19-9-19

使用JAVA8的API可以实现分页,在数据量相对稳定的情况下,可以查出所有数据,配合缓存使用

import java.util.ArrayList; import java.util.List; import java.util.Optional;   /**  * @version 1.0  * @author levelmini  * @param <T>  */ public class Page<T> { 	private int current_page; 	private int size; 	private int total_page;  	private int total_sum; 	private transient List<T> instanceList;//Gson不序列化transient字段 	private List<T> currentPageData; 	private transient Optional<List<T>> op; 	 	public Page(List<T> instanceList,int size) { 		this.size = size; 		setInstanceList(instanceList); 	} 	 	public int getCurrent_page() { 		return current_page; 	} 	public void setCurrent_page(int current_page) { 		this.current_page = current_page<1?1:current_page>this.total_page?this.total_page:current_page; 		setCurrentPageData(currentPageData()); 	} 	public int getSize() { 		return size; 	} 	public void setSize(int size) { 		this.size = size; 	} 	public int getTotal_page() { 		return total_page; 	} 	public int getTotal_sum() { 		return total_sum; 	} 	public List<T> getInstanceList() { 		return instanceList; 	} 	public void setInstanceList(List<T> instanceList) { 		this.op= Optional.ofNullable(instanceList); 		this.instanceList = op.orElse(new ArrayList<T>()); 		this.total_sum = this.instanceList.size(); 		this.total_page =(int) Math.ceil(1.0*this.total_sum/this.size); 	} 	public void setCurrentPageData(List<T> currentPageData) { 		this.currentPageData = currentPageData; 	} 	public List<T> getCurrentPageData(){ 		return this.currentPageData; 	} 	private List<T> currentPageData(){ 		if(this.size==0 || this.total_page == 1){ 			return this.instanceList; 		} 		List<T> currentPageData = new ArrayList<T>(); 		instanceList.stream().skip((this.current_page-1)*this.size).limit(this.size).forEach(e->currentPageData.add(e)); 		return currentPageData; 	} }

用法:

List<News> newsList = newsService.findAll(); Page<News> page = new Page<>(newsList, size); page.setCurrent_page(current_page); return JsonUtil.toJson(page,"yyyy-MM-dd");

以上就是JAVA8的分页工具的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: java
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java的三种随机数生成方式

相关资讯