Java 分页工具类及其使用 (示例分享)
这里有新鲜出炉的 Java 设计模式, 程序狗速度看过来!
Java 程序设计语言
java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言, 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台 (即 JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)) 的总称
本篇文章主要分享了 Java 分页工具类及其使用的示例代码, 具有一定的参考价值, 下面跟着小编一起来看下吧
- Pager.java package pers.kangxu.datautils.common;
- import java.io.Serializable;
- import java.util.List;
- /**
- *
- * <b> 分页通用类 </b>
- *
- * @author kangxu
- * @param <T>
- *
- */
- public class Pager < T > implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 4542617637761955078L;
- /**
- * currentPage 当前页
- */
- private int currentPage = 1;
- /**
- * pageSize 每页大小
- */
- private int pageSize = 10;
- /**
- * pageTotal 总页数
- */
- private int pageTotal;
- /**
- * recordTotal 总条数
- */
- private int recordTotal = 0;
- /**
- * previousPage 前一页
- */
- private int previousPage;
- /**
- * nextPage 下一页
- */
- private int nextPage;
- /**
- * firstPage 第一页
- */
- private int firstPage = 1;
- /**
- * lastPage 最后一页
- */
- private int lastPage;
- /**
- * content 每页的内容
- */
- private List < T > content;
- // 以下 set 方式是需要赋值的
- /**
- * 设置当前页 <br>
- *
- * @author kangxu
- *
- * @param currentPage
- */
- public void setCurrentPage(int currentPage) {
- this.currentPage = currentPage;
- }
- /**
- * 设置每页大小, 也可以不用赋值, 默认大小为 10 条 <br>
- *
- * @author kangxu
- *
- * @param pageSize
- */
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- /**
- * 设置总条数, 默认为 0 <br>
- *
- * @author kangxu
- *
- * @param recordTotal
- */
- public void setRecordTotal(int recordTotal) {
- this.recordTotal = recordTotal;
- otherAttr();
- }
- /**
- * 设置分页内容 <br>
- *
- * @author kangxu
- *
- * @param content
- */
- public void setContent(List < T > content) {
- this.content = content;
- }
- /**
- * 设置其他参数
- *
- * @author kangxu
- *
- */
- public void otherAttr() {
- // 总页数
- this.pageTotal = this.recordTotal % this.pageSize > 0 ? this.recordTotal / this.pageSize + 1 : this.recordTotal / this.pageSize;
- // 第一页
- this.firstPage = 1;
- // 最后一页
- this.lastPage = this.pageTotal;
- // 前一页
- if (this.currentPage > 1) {
- this.previousPage = this.currentPage - 1;
- } else {
- this.previousPage = this.firstPage;
- }
- // 下一页
- if (this.currentPage < this.lastPage) {
- this.nextPage = this.currentPage + 1;
- } else {
- this.nextPage = this.lastPage;
- }
- }
- // 放开私有属性
- public int getCurrentPage() {
- return currentPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public int getPageTotal() {
- return pageTotal;
- }
- public int getRecordTotal() {
- return recordTotal;
- }
- public int getPreviousPage() {
- return previousPage;
- }
- public int getNextPage() {
- return nextPage;
- }
- public int getFirstPage() {
- return firstPage;
- }
- public int getLastPage() {
- return lastPage;
- }
- public List < T > getContent() {
- return content;
- }@Override public String toString() {
- return "Pager [currentPage=" + currentPage + ", pageSize=" + pageSize + ", pageTotal=" + pageTotal + ", recordTotal=" + recordTotal + ", previousPage=" + previousPage + ", nextPage=" + nextPage + ", firstPage=" + firstPage + ", lastPage=" + lastPage + ", content=" + content + "]";
- }
- }
使用 PagerTester.java
- package pers.kangxu.datautils.utils;
- import java.util.ArrayList;
- import java.util.List;
- import pers.kangxu.datautils.common.Pager;
- /**
- * 分页数据测试
- * <b>
- *
- * </b>
- * @author kangxu
- *
- */
- public class PagerTester {
- public static void main(String[] args) {
- Pager < String > pager = new Pager < String > ();
- List < String > content = new ArrayList < String > ();
- content.add("str1");
- content.add("str2");
- content.add("str3");
- content.add("str4");
- content.add("str5");
- content.add("str6");
- content.add("str7");
- content.add("str8");
- content.add("str9");
- content.add("str10");
- pager.setCurrentPage(1);
- pager.setPageSize(10);
- pager.setRecordTotal(62);
- pager.setContent(content);
- System.out.println(pager);
- }
- }
来源: http://www.phperz.com/article/18/0210/358962.html