`

一个分页的工具类

阅读更多
/**
 * Copyright(C)2012, Docworks Inc. All rights reserved.
 */
package com.docworks.util;

/**
 * <p>该类用于计算分页信息</p>
 * @author: liuwei
 * @date 2012-9-26
 */
public class PageUtil {
	/**
	 * 当前页
	 */
	private int currentPage;
	
	/**
	 * 每页显示的条目数
	 */
	private int perPage;
	
	/**
	 * 总记录数
	 */
	private int recordTotal;
	
	/**
	 * 总页数
	 */
	private int pageTotal;
	
	/**
	 * 起始索引位置
	 */
	private int startIndex;
	
	/**
	 * 结束索引位置
	 */
	private int endIndex;
	
	/**
	 * 无参数的构造方法
	 */
	public PageUtil() {
		
	}
	
	/**
	 * <p>初始化页面信息,计算起始索引位置和结束索引位置的构造方法</p>
	 * @param currentPage 当前页码
	 * @param perPage 每页显示的条目数,可以由{@link #setPerPage(int perPage)}修改
	 * @param recordTotal 总记录数
	 */
	public PageUtil(int currentPage, int perPage, int recordTotal) {
		this.currentPage = currentPage;
		this.perPage = perPage;
		this.recordTotal = recordTotal;
		int tempCount = 0;
		if (this.recordTotal != 0) {
			startIndex = (this.currentPage - 1) * this.perPage + 1;
			tempCount = this.currentPage * this.perPage;
			if (this.recordTotal < tempCount) {
				endIndex = this.recordTotal;
			} else {
				endIndex = tempCount;
			}
		}
	}
	
	/**
	 * <p>计算总页数</p>
	 * @return 总页数
	 */
	public int getPageTotal() {
		if (recordTotal < perPage) {
			pageTotal = 1;
		} else if (recordTotal % perPage == 0) {
			pageTotal = recordTotal / perPage;
		} else {
			pageTotal = recordTotal / perPage + 1;
		}
		return pageTotal;
	}

	/**
	 * <p>获得起始索引位置</p>
	 * @return 起始索引位置
	 */
	public int getStartIndex() {
		return startIndex;
	}

	/**
	 * <p>获得结束索引位置</p>
	 * @return 结束索引位置
	 */
	public int getEndIndex() {
		return endIndex;
	}

	/**
	 * <p>获得当前页码</p>
	 * @return 当前页码
	 */
	public int getCurrentPage() {
		return currentPage;
	}

	/**
	 * <p>获得每页显示的条目数</p>
	 * @return 每页显示的条目数
	 */
	public int getPerPage() {
		return perPage;
	}

	/**
	 * <p>获得总记录数</p>
	 * @return 总记录数
	 */
	public int getRecordTotal() {
		return recordTotal;
	}

	/**
	 * <p>传入一个数字参数,设置每页显示的条目数</p>
	 * @param perPage 要传入的参数,每页显示的条目数
	 */
	public void setPerPage(int perPage) {
		this.perPage = perPage;
	}
}
分享到:
评论

相关推荐

    分页工具类分页工具类

    2. 应用程序层面:在Java中,可以自定义一个分页工具类,包含如分页参数(当前页码、每页大小)、数据获取方法(根据页码和每页大小从数据库获取数据)以及分页导航信息(如上一页、下一页、总页数等)。 3. 设计...

    java分页工具类

    page.java java分页工具类

    java分页工具类(非常实用)

    Java分页工具类是Java语言中的一种常用工具类,用于实现分页功能。下面是该工具类的详细知识点: 1. 分页工具类的作用 分页工具类的主要作用是将大量数据分页显示,以便用户更方便地浏览和操作数据。该工具类可以...

    ssm用来分页的工具类

    spring-sprifengmvc-mybatis中封装的一个分页工具类。方便以后使用,教程地址http://blog.csdn.net/chenyidong521/article/details/68094490

    常用php封装分页工具类

    本篇文章将详细解析如何封装一个PHP分页工具类,以便在不同项目中重复使用。 首先,我们需要了解分页的基本原理。分页主要涉及两个关键参数:当前页数和每页显示的条目数。通过这两个参数,我们可以计算出从数据库...

    Java实现的分页工具类

    本篇文章将详细探讨如何使用Java实现一个分页工具类,以及在实际应用中如何运用这个工具。 首先,分页的基本概念是通过指定每页显示的数据量(每页记录数,即pageSize)和当前页数(pageNumber),从数据库中获取...

    公共分页工具类

    提供一个可以公用的分页工具类,适用于各种分页

    分页工具类

    下面我们将详细探讨Java中的分页原理以及如何构建一个实用的分页工具类。 首先,了解分页的基本概念。分页是将大量的数据分成若干小部分(页)进行显示,用户可以逐页浏览,而不是一次性加载所有数据。在Java中,...

    java 分页工具类 java 分页工具类

    java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类

    分页的工具类

    分页工具类。类似谷歌 百度的分页

    js分页控件--js封装的分页控件

    自己写的一个js分页控件.已经封装,可以直接使用. 适合各种用途的分页控制. 如果界面不够美观,只需要修改css即可.

    java分页大全 包括最强大的java分页类

    "page.rar"可能包含了一个分页工具类,这类工具通常提供静态方法,接收SQL查询语句、每页大小和当前页码作为参数,然后返回处理后的SQL和分页参数。这样的设计使得在代码中调用分页功能变得简单易行,同时也易于维护...

    Java实现的分页工具类与用法示例

    1. 创建分页工具类对象:首先需要创建一个分页工具类对象,例如PageUtils2 pageUtils2 = new PageUtils2(); 2. 初始化分页工具类:在创建了分页工具类对象后,需要初始化该对象,例如pageUtils2.init(currentPage, ...

    php分页类工具类

    这是一个功能强大,并且易于扩展的分页类,该类将分页的各个元素单独分开模块化,用户可以随心所欲的拼接出自己想要的分页效果,更是添加了控制分页样式的功能,可以让你独立设置分页各元素的样式,也集成了集中已经...

    分页工具类、一些常用的分页格式、

    分页工具类、一些常用的分页格式、如常见的文字分页、论坛文字分页、论坛图片分页、

    Java jdbc分页工具类

    java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;//每页的个数 /** * 当前页 */ private int page; // /** * 总行数 */ private int totalRows; // /** * 总页数 */ private ...

Global site tag (gtag.js) - Google Analytics