码迷,mamicode.com
首页 > 编程语言 > 详细

java自定义分页模板

时间:2018-11-23 15:18:20      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:分页   get   his   int   alc   null   amp   com   author   

有些情况下使用分页插件并不合适,这时候需要我们自定义分页插件模板,下面是笔者自己写的分页模板可以根据需要自己更改:

/*
 * Copyright (C) 2018 Baidu, Inc. All Rights Reserved.
 */
package com.legal.domain;

import java.util.List;

/**
 * 分页
 *
 * @author
 * @since 2018/11/22 19:01
 */
public class PageHelper {
    // 总条数
    private Integer totalCount;
    // 总页数
    private Integer totalPages;
    // 每页条数
    private Integer limit;
    // 当前页码从1开始
    private Integer page;
    // 前一页
    private Integer prePage;
    // 是否首页
    private Boolean firstPage;
    // 是否末页
    private Boolean lastPage;
    // 下一页
    private Integer nextPage;
    // 偏移量
    private Integer offset;
    // 是否有下页
    private Boolean hasNextPage;
    // 是否有上页
    private Boolean hasPrePage;
    // 当前页从第几条开始查
    private Integer startRow;
    // 返回数据
    private List items;

    public PageHelper pagination(Integer totalCount, Integer limit, Integer page, List items) {
        PageHelper pageHelper = new PageHelper();
        pageHelper.setTotalCount(totalCount);
        Integer totalPage = totalCount % limit == 0 ? totalCount / limit : totalCount / limit + 1;
        pageHelper.setTotalPages(totalPage);
        pageHelper.setPage(page);
        pageHelper.setLimit(limit);
        pageHelper.setOffset(limit);
        pageHelper.setStartRow(limit * (page - 1));
        if (page > 1 && page < totalPage) {
            firstPage = false;
            hasPrePage = true;
            nextPage = page + 1;
            prePage = page - 1;
        } else if (page == totalPage && page != 1) {
            lastPage = true;
            hasNextPage = false;
            firstPage = false;
            hasPrePage = true;
            prePage = page - 1;
        } else if (page == 1 && page != totalPage) {
            lastPage = false;
            hasNextPage = true;
            firstPage = true;
            hasPrePage = false;
            nextPage = page + 1;
        } else if (page == totalPage && totalPage == 1) {
            lastPage = true;
            hasNextPage = false;
            firstPage = true;
            hasPrePage = false;
        }
        pageHelper.setLastPage(lastPage);
        pageHelper.setFirstPage(firstPage);
        pageHelper.setHasNextPage(hasNextPage);
        pageHelper.setHasPrePage(hasPrePage);
        pageHelper.setPrePage(prePage);
        pageHelper.setNextPage(nextPage);
        int toIndex = 0;
        if (pageHelper.getStartRow() + pageHelper.getLimit() >= pageHelper.getTotalCount()) {
            toIndex = pageHelper.getTotalCount();
        } else {
            toIndex = pageHelper.getStartRow() + pageHelper.getLimit();
        }
        if (pageHelper.getStartRow() > toIndex) {
            this.items = null;
        } else {
            this.items = items.subList(pageHelper.getStartRow(), toIndex);
        }
        pageHelper.setItems(this.items);
        return pageHelper;
    }

    public Integer getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    public Integer getTotalPages() {
        return totalPages;
    }

    public void setTotalPages(Integer totalPages) {
        this.totalPages = totalPages;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getPage() {
        return page;
    }

    public void setPage(Integer page) {
        this.page = page;
    }

    public Integer getPrePage() {
        return prePage;
    }

    public void setPrePage(Integer prePage) {
        this.prePage = prePage;
    }

    public Boolean getFirstPage() {
        return firstPage;
    }

    public void setFirstPage(Boolean firstPage) {
        this.firstPage = firstPage;
    }

    public Boolean getLastPage() {
        return lastPage;
    }

    public void setLastPage(Boolean lastPage) {
        this.lastPage = lastPage;
    }

    public Integer getNextPage() {
        return nextPage;
    }

    public void setNextPage(Integer nextPage) {
        this.nextPage = nextPage;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Boolean getHasNextPage() {
        return hasNextPage;
    }

    public void setHasNextPage(Boolean hasNextPage) {
        this.hasNextPage = hasNextPage;
    }

    public Boolean getHasPrePage() {
        return hasPrePage;
    }

    public void setHasPrePage(Boolean hasPrePage) {
        this.hasPrePage = hasPrePage;
    }

    public Integer getStartRow() {
        return startRow;
    }

    public void setStartRow(Integer startRow) {
        this.startRow = startRow;
    }

    public List getItems() {
        return items;
    }

    public void setItems(List items) {
        this.items = items;
    }
}

 

java自定义分页模板

标签:分页   get   his   int   alc   null   amp   com   author   

原文地址:https://www.cnblogs.com/itzfz/p/10007502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!