java - 分页类
pager.java
package com.jspnews.util; import java.io.Serializable;
import java.util.List; /**
*
* <b> 分页通用类 </b>
*
* @author kangxu
* @param <T>
*
*/
public class Pager { /**
*
*/
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; /**
* 拼接url
*/
private String url = "?p="; public String getUrl() {
return url;
} public void setUrl(String url) {
this.url = url;
} // 以下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();
} /**
* 设置其他参数
*
* @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;
} @Override
public String toString() {
return "Pager [currentPage=" + currentPage + ", pageSize=" + pageSize + ", pageTotal=" + pageTotal
+ ", recordTotal=" + recordTotal + ", previousPage=" + previousPage + ", nextPage=" + nextPage
+ ", firstPage=" + firstPage + ", lastPage=" + lastPage + ", url=" + url + "]";
} }
test
package com.jspnews.test;
import com.jspnews.util.Pager;
public class TestPager {
public static void main(String[] args) {
Pager pager = new Pager();
pager.setCurrentPage(-1);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(0);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(1);
pager.setPageSize(4);
pager.setRecordTotal(15);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(2);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(3);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(4);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(5);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(6);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
pager.setCurrentPage(7);
pager.setPageSize(4);
pager.setRecordTotal(21);
System.out.println(pager.getPreviousPage() + "," + pager.getNextPage());
}
}
result
1,0
1,1
1,2
1,3
2,4
3,5
4,6
5,6
6,6
java - 分页类的更多相关文章
- Java分页类 Page
import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.Iterator; ...
- [Java] 一种好的JAVA分页实现
喃都不说了,贴代码,意思都在代码里面了 Page.java //分页类.定义分页字段信息,供前台页面使用 package com.core.common; import java.util.List; ...
- Java 动态分页类
动态分页类: Cls_page.java package pagination; public class Cls_page { private int nums;// 总条目数 private i ...
- Mybatis包分页查询java公共类
Mybatis包分页查询java公共类 分页----对于数据量非常大的查询中.是不可缺少的. mybatis底层的分页sql语句因为须要我们自己去手动写.而实现分页显示的时候我们须要依据分页查询条 ...
- java分页三个类 PageBean ResponseUtil StringUtil
package ssmy.page; /** * 分页类 * @author Jesse * */public class PageBean { private int page;//第几页 priv ...
- 数据你把它的金额-JAVA分页
数据量你造吗-JAVA分页 原创地址: http://www.cnblogs.com/Alandre/ (泥沙砖瓦浆木匠),须要转载的,保留下! Thanks 学习的心态第一,解行要对应. 事实 ...
- java 分页模型的模板
分页sql select top 每页要显示的记录数 * from 表名 where 主键 not in (select top (每页显示的记录数*(当前页-1)) 主键 from 表名 ) sel ...
- 数据量你造吗-JAVA分页
原创地址: http://www.cnblogs.com/Alandre/ (泥沙砖瓦浆木匠),需要转载的,保留下! Thanks 学习的心态第一,解行要相应.其实<弟子规>在“余力 ...
- 一个方便的java分页算法
一个好用的java分页算法,代码如下,只需要分页参数继承Pageable类就可以很方便分页了 package cn.com.base.common.pagination; /** * 分页基类 * * ...
随机推荐
- 【Android开发】Android应用程序目录结构
原文:http://android.eoe.cn/topic/summary Android开发之旅:组件生命周期吴秦 Android开发之旅:HelloWorld项目的目录结构 * HelloWor ...
- Scala语言开发入门
在本系列的第一篇文章 <使用递归的方式去思考>中,作者并没有首先介绍 Scala 的语法,这样做有两个原因:一是由于过多的陷入语法的细节其中,会分散读者的注意力.反而忽略了对于基本概念,基 ...
- windows下bash终端--git-bash总汇
git bash是一个比较好用的终端(win下),但有一些细节需要调整后才好用. 1.比如,登陆后终端的表格,以及个别符号显示为乱码. 解决方法: 1).点击git bash左上角,选择“option ...
- Android Studio 1.1.0版本以上 优化编译
本文不写内容,只是借用别人链接.不过大概内容都如下链接: http://blog.csdn.net/hyr83960944/article/details/38388429 http://bbs.it ...
- ASP.NET MVC中的cshtml页面中的下拉框的使用
ASP.NET MVC中的cshtml页面中的下拉框的使用 用上@Html.DropDownList 先记下来..以做备忘...
- 【Unity】10.1 类人动画的导入和设置
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.制作或购买类人模型 为了充分使用 Mecanim 类人动画系统和类人动画的动画重定位功能,需要先使用其他3D建模软件(例如3d ...
- ImageView 最大bitmap 4096
ImageView 最大bitmap 4096,超出不显示图片
- vue-cli 工程中引入jquery
在vue-cli 生成的工程中引入了jquery,记录一下.(模板用的webpack) 首先在package.json里的dependencies加入"jquery" : &quo ...
- 【Android】安卓闪电复习
Intent An intent is an abstract description of an operation to be performed 一个Intent就是一次对将要执行的操作的抽象描 ...
- js获取系统的根路径实现介绍
js如何获取系统的根路径,在本文给出了详细的方法 function getBasePath(){ var obj=window.location; var contextPath=obj.pathna ...