1. 程式人生 > >java自定義分頁模板

java自定義分頁模板

sin tla 返回 ger limit last lis class ets

有些情況下使用分頁插件並不合適,這時候需要我們自定義分頁插件模板,下面是筆者自己寫的分頁模板可以根據需要自己更改:

/*
 * 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自定義分頁模板