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);
 }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • Java TokenProcessor令牌校验工具类

    关于TokenProcessor令牌校验工具类废话不多说了,直接给大家贴代码了,一切内容就在下面一段代码中,具体代码详情如下所示: public class TokenProcessor { private long privious;// 上次生成表单标识号得时间值 private static TokenProcessor instance = new TokenProcessor(); public static String FORM_TOKEN_KEY = "FORM_TOKEN_KE

  • java文件操作工具类

    最近为了修改大量收藏的美剧文件名,用swing写了个小工具,代码是文件处理部分,具体内容如下 package datei.steuern; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter

  • Java语言Lang包下常用的工具类介绍

    无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数.你可知道,有很多现成的工具类可用,并且代码质量都很不错,不用你写,不用你调试,只要你发现. 在 Apache Jakarta Common 中, Lang 这个 Java 工具包是所有 Apache Jakarta Common 项目中被使用最广泛的,几乎你所知道的名气比较大的软件里面都有用到它,包括 Tomcat, Weblogic, Websphere, Eclipse 等等.我们就从这个包开始介绍整个 common 项

  • Java常用正则表达式验证工具类RegexUtils.java

    正则表达式常常用来验证各种表单,Java 表单注册常用正则表达式验证工具类,常用正则表达式大集合. 1. 电话号码 2. 邮编 3. QQ 4. E-mail 5. 手机号码 6. URL 7. 是否为数字 8. 是否为中文 9. 身份证 10. 域名 11. IP .... 常用验证应有尽有! 这的确是您从事 web 开发,服务器端表单验证之良品!你,值得拥有 ^_^ /* * Copyright 2012-2013 The Haohui Network Corporation */ pack

  • java日期操作工具类(获取指定日期、日期转换、相隔天数)

    本文实例为大家分享了java日期操作工具类,获取指定日期前一天.后一天:日期转换:两个日期之间相隔天数等工具类,供大家参考,具体内容如下 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class

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

    本文实例讲述了Java实现的分页工具类与用法.分享给大家供大家参考,具体如下: 今天闲来没事,写了一个页面的分页工具类,具有很好的兼容性与实用性哦. 不管怎么样,先来瞧一瞧: package com.bw.utils; /** * 分页工具类 * * @author H.ros * */ public class PageUtils2 { // 当前页(从页面获取的当前页码,未计算) private int currentPage; // 前一页 private int prevPage; //

  • java分页工具类的使用方法

    说明:曾经在网上看过花样繁多的分页,很多都号称如何通用,但很多时候往往不尽如人意:有在分页类中还加入URL地址信息的,有在分页类中还进行分页动作处理(此动作完全属于操作数据库方面的事情)的.现在好了,经本人总结与提炼: 无论你是否自己手动分页,还是借助了框架进行分页.此工具类都可以帮助你达到稳定的分页效果(包括导航页码功能),而且使用方法也相对简单:好了,废话少说,代码如下: package test.dao; import java.util.List; /** * 用于分页的工具类 * @a

  • Java常用工具类汇总 附示例代码

    一.FileUtils private static void fileUtilsTest() { try { //读取文件内容 String readFileToString = FileUtils.readFileToString(new File("D:\\guor\\data\\test20211022000000.txt")); System.out.println(readFileToString); //删除文件夹 FileUtils.deleteDirectory(ne

  • Java并发工具类Future使用示例

    目录 前言 Future使用示例 FutureTask 前言 Future是一个接口类,定义了5个方法: boolean cancel(boolean mayInterruptIfRunning); boolean isCancelled(); boolean isDone(); V get() throws InterruptedException, ExecutionException; V get(long timeout, TimeUnit unit) throws Interrupte

  • 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 stati

  • Java实现的JSONUtil工具类与用法示例

    本文实例讲述了Java实现的JSONUtil工具类与用法.分享给大家供大家参考,具体如下: import java.util.HashMap; import java.util.Map; import com.alibaba.druid.util.StringUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class JSONUtils { /** * Bean对象转J

  • Java手机号码工具类示例详解(判断运营商、获取归属地)

    所需引用Jar包 <dependency> <groupId>com.googlecode.libphonenumber</groupId> <artifactId>geocoder</artifactId> <version>2.15</version> </dependency> <dependency> <groupId>com.googlecode.libphonenumber&

  • pagehelper分页工具类的封装

    本文实例为大家分享了pagehelper分页工具类的封装代码,供大家参考,具体内容如下 现状: 在使用Mybatis进行数据库分页查询时,我们经常使用的是插件:pagehelper 此插件可以帮助我们很方便的进行数据库分页操作,但是使用此插件每次都需要先开启插件,然后再手动的对参数进行封装,这些都是模板化的套路,有没有一种更简洁的方法,让我们不在关注具体的分页细节,只需要实现我们的业务逻辑呢?所以接下来我将使用Spring AOP技术,对该工具类进行封装,让我们可以更方便的进行分页操作: 依赖:

  • java分页拦截类实现sql自动分页

    本文实例为大家分享了完整的java分页拦截类,供大家参考,具体内容如下 package com.opms.interceptor; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Properties; import org.apache.ibatis.executor.p

  • Android开发中解析xml文件XmlUtils工具类与用法示例

    本文实例讲述了Android开发中解析xml文件XmlUtils工具类与用法.分享给大家供大家参考,具体如下: 1. xmlUtil工具类 package com.example.xmlpaserutil.util; import java.io.InputStream; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import org.xmlpull.v1.XmlPullP

随机推荐