分页工具类

 


import java.io.Serializable;
import java.util.List;

/**
 * @author sheng
 */
public class Paging<T> implements Serializable {
    private static final long serialVersionUID = -5383516184368409746L;
    /**
     * 当前位于多少页
     */
    private int pageNumber = 1;
    /**
     * 每页的数量
     */
    private int pageSize = 10;
    /**
     * 用于作为查询条件的关键词
     */
    private String keyword;
    /**
     * 用于作为查询条件的时间范围
     */
    private DateRange dateRange;
    /**
     * 用于作为排序依据的字段
     */
    private String orderField;
    /**
     * 正序排序还是倒叙排序
     */
    private boolean orderDesc;
    /**
     * 返回数据总数
     */
    private int totalCount;
    /**
     * 查询出的数据集合
     */
    private List<T> list;
    /**
     * 访问次数统计
     */
    private int visitCount;
    
    

    public int getVisitCount() {
		return visitCount;
	}

	public void setVisitCount(int visitCount) {
		this.visitCount = visitCount;
	}

	public static <T> Paging<T> create() {
        return new Paging<>();
    }

    public int getPageNumber() {
        return pageNumber;
    }

    public Paging<T> setPageNumber(int pageNumber) {
        this.pageNumber = pageNumber;
        return this;
    }

    public int getPageSize() {
        return pageSize;
    }

    public Paging<T> setPageSize(int pageSize) {
        this.pageSize = pageSize;
        return this;
    }

    public String getKeyword() {
        return keyword;
    }

    public Paging<T> setKeyword(String keyword) {
        this.keyword = keyword;
        return this;
    }

    public DateRange getDateRange() {
        return dateRange;
    }

    public Paging<T> setDateRange(DateRange dateRange) {
        this.dateRange = dateRange;
        return this;
    }

    public String getOrderField() {
        return orderField;
    }

    public Paging setOrderField(String orderField) {
        this.orderField = orderField;
        return this;
    }

    public boolean isOrderDesc() {
        return orderDesc;
    }

    public Paging setOrderDesc(boolean orderDesc) {
        this.orderDesc = orderDesc;
        return this;
    }

    public int getTotalCount() {
        return totalCount;
    }

    public Paging<T> setTotalCount(int totalCount) {
        this.totalCount = totalCount;
        return this;
    }

    public int getTotalPage() {
        int totalPage = totalCount / pageSize;
        if (totalCount % pageSize != 0)
            totalPage += 1;
        return totalPage;
    }

    public List<T> getList() {
        return list;
    }

    public Paging<T> setList(List<T> list) {
        this.list = list;
        return this;
    }

    public int offset() {
        return pageSize * (pageNumber - 1);
    }

    @Override
    public String toString() {
        return "Paging{" +
                "pageNumber=" + pageNumber +
                ", pageSize=" + pageSize +
                ", keyword='" + keyword + '\'' +
                ", dateRange=" + dateRange +
                ", orderField='" + orderField + '\'' +
                ", orderDesc=" + orderDesc +
                ", totalCount=" + totalCount +
                ", list=" + list +
                '}';
    }
}

 


import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import java.util.Objects;

/**
 * @author sheng
 */
public final class DateRange implements Serializable {
    private static final long serialVersionUID = -7071173065659002011L;
    /**
     * 开始时间
     */
    public Date start;
    /**
     * 结束时间
     */
    public Date end;

    public DateRange() {
    }

    public DateRange(Date start, Date end) {
        this.start = start;
        this.end = end(end);
    }

    public Date getStart() {
        return start;
    }

    public DateRange setStart(Date start) {
        this.start = start;
        return this;
    }

    public Date getEnd() {
        return end;
    }

    public DateRange setEnd(Date end) {
        this.end = end(end);
        return this;
    }

    public DateRange endDirect(Date end) {
        this.end = end;
        return this;
    }

    private Date end(Date date) {
        if (Objects.isNull(date)) return null;
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        calendar.set(Calendar.HOUR_OF_DAY, 23);
        calendar.set(Calendar.MINUTE, 59);
        calendar.set(Calendar.SECOND, 59);
        return calendar.getTime();
    }

    @Override
    public String toString() {
        return "DateRange{" +
                "start=" + start +
                ", end=" + end +
                '}';
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值