PageObject

本文介绍了一个PageObject类的设计与实现细节,该类用于处理分页操作,包括设置当前页码、每页显示的记录数及总记录数等属性,并提供了计算总页数、起始位置和结束位置的方法。


public class PageObject {

    public PageObject(Integer page, Integer size) {

        this.page = page;

        if (page < 1) {
            page = 1;
        }
        this.pageSize = size;
    }

    public PageObject() {
        super();
    }

    // 开始索引
    private Integer page;

    // 一页行数
    private Integer pageSize;

    // 总行数
    private Integer totalCount;

    public PageObject(Integer page, Integer size, Integer totalCount) {

        this.page = page;

        if (page < 1) {
            page = 1;
        }
        this.pageSize = size;

        this.totalCount = totalCount;
    }

    @Override
    public String toString() {
        StringBuilder builder = new StringBuilder();
        builder.append("PageObject [page=").append(page).append(", pageSize=")
                .append(pageSize).append(", totalCount=").append(totalCount)
                .append("]");
        return builder.toString();
    }

    public Integer getPage() {
        return page;
    }

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

    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    /*
     * 获取总页数
     */
    public Integer getTotalCount() {
        int count = 0;
        if (this.totalCount > 0) {
            count = this.totalCount % pageSize == 0 ? (this.totalCount / this.pageSize)
                    : (this.totalCount / this.pageSize + 1);
        }
        return count;
    }

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

    /*
     * 获取起始位置
     */
    public Integer getStartIndex() {
        int startIndex = (page - 1) * pageSize;
        return startIndex;
    }

    /*
     * 获取结束位置
     */
    public Integer getEndIndex() {
        int endIndex = this.page * this.pageSize;
        return endIndex;
    }
}

转载于:https://www.cnblogs.com/albert-think/p/6373156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值