分页数据信息封装

package com.yxy.vwaiter.pojo.VO;

import com.github.pagehelper.Page;

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

/**

  • @Description: 分页数据信息封装类

  • @author WangYaFeng

  • @Date 2018年08月24日 10:34

  • @Version
    */
    public class Pagination implements Serializable {
    public static final int DEFAULT_PAGE_SIZE = 10;

    private static final long serialVersionUID = 1188127446407349574L;

    private long totalCount = 0;
    private int pageSize = 10;
    private int pageNo = 1;
    private List results;

    public Pagination() {
    }

    /**

    • 构造器
    • @param pageNo
    •        页码
      
    • @param pageSize
    •        每页几条数据
      
    • @param totalCount
    •        总共几条数据
      

    */
    public Pagination(int pageNo, int pageSize, long totalCount) {
    setPageSize(pageSize);
    setPageNo(pageNo);
    setTotalCount(totalCount);
    }

    /**

    • @Description: 使用pageHelp 分页拦截器后,可以使用此构造器将分页查询的list(Page)对象直接转换为Pagination对象。

    • @author WangYaFeng

    • @Date 2018年11月30日 9:11

    • @param list 分页查询的list(Page)对象

    • @return

    • @Version 1.3
      */
      public Pagination(List list) {
      if (list instanceof Page) {
      Page page = (Page) list;
      setPageNo(page.getPageNum());
      setPageSize(page.getPageSize());
      setTotalCount(page.getTotal());

      } else if (list instanceof Collection) {
      setPageNo(1);
      setPageSize( list.size());
      setTotalCount(list.size());
      }
      if (list instanceof Collection) {
      this.results = list;
      }
      }

    /**

    • 构造器
    • @param pageNo
    •        页码
      
    • @param pageSize
    •        每页几条数据
      
    • @param totalCount
    •        总共几条数据
      
    • @param results
    •        分页内容
      

    */
    public Pagination(int pageNo, int pageSize, long totalCount, List results) {
    this(pageNo,pageSize,totalCount);
    this.results = results;
    }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#getPageNo()
      */
      public int getPageNo() {
      return pageNo;
      }

    /**

    • 设置当前页码
    • @param pageNo
      */
      public void setPageNo(int pageNo) {
      if (pageNo < 1) {
      this.pageNo = 1;
      } else{
      this.pageNo = pageNo;
      }
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#getPageSize()
      */
      public int getPageSize() {
      return pageSize;
      }

    /**

    • 设置每页条数
    • @param pageSize
      */
      public void setPageSize(int pageSize) {
      if (pageSize < 1) {
      this.pageSize = DEFAULT_PAGE_SIZE;
      } else {
      this.pageSize = pageSize;
      }
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#getTotalCount()
      */
      public long getTotalCount() {
      return totalCount;
      }

    /**

    • 设置记录条数

    • @param totalCount
      */
      public void setTotalCount(long totalCount) {
      if (totalCount < 0) {
      this.totalCount = 0;
      } else {
      this.totalCount = totalCount;
      }

      int totalPage = getTotalPage();
      if(this.pageNo > totalPage){
      this.pageNo = totalPage;
      }
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#getTotalPage()
      */
      public int getTotalPage() {
      long totalPage = totalCount / pageSize;
      if (totalPage == 0 || totalCount % pageSize != 0) {
      totalPage++;
      }
      return (int)totalPage;
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#isFirstPage()
      */
      public boolean isFirstPage() {
      return pageNo <= 1;
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#isLastPage()
      */
      public boolean isLastPage() {
      return pageNo >= getTotalPage();
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#getPrePage()
      */
      public int getPrePage() {
      if (isFirstPage()) {
      return pageNo;
      } else {
      return pageNo - 1;
      }
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#getNextPage()
      */
      public int getNextPage() {
      if (isLastPage()) {
      return pageNo;
      } else {
      return pageNo + 1;
      }
      }

    /* (non-Javadoc)

    • @see net.huaat.commons.paging.IPagination#getResults()
      */
      public List getResults() {
      return results;
      }

    /**

    • 设置记录
    • @param results
      */
      public void setResults(List results) {
      this.results = results;
      }

    /**

    • 获取当前也第一条的序号
    • @return
      */
      public int getCurrPageFirst() {
      return (pageNo - 1) * pageSize;
      }
      }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值