欢迎光临
我们一直在努力

JAVA8的分页工具

JAVA8的分页工具插图

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

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

用法:

List newsList = newsService.findAll();
Page page = new Page(newsList, size);
page.setCurrent_page(current_page);
return JsonUtil.toJson(page,"yyyy-MM-dd");
分享本文到
赞(0)
未经允许不得转载:爱分享 » JAVA8的分页工具

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

爱分享,生活常用知识教程百科分享、学习、交流平台

爱分享精选好货商城