分页辅助类

package com.sanqing.util;
/*
 * 分页信息辅助类
 */
public class PageUtil {
	public static Page createPage(int everyPage,int totalCount,int currentPage) {//创建分页信息对象
		everyPage = getEveryPage(everyPage);
		currentPage = getCurrentPage(currentPage);
		int totalPage = getTotalPage(everyPage, totalCount);
		int beginIndex = getBeginIndex(everyPage, currentPage);
		boolean hasPrePage = getHasPrePage(currentPage);
		boolean hasNextPage = getHasNextPage(totalPage, currentPage);
		return new Page(everyPage, totalCount, totalPage, currentPage,
				beginIndex, hasPrePage,  hasNextPage);
	}
	public static int getEveryPage(int everyPage) {		//获得每页显示记录数
		return everyPage == 0 ? 10 : everyPage;
	}
	public static int getCurrentPage(int currentPage) {	//获得当前页
		return currentPage == 0 ? 1 : currentPage;
	}
	public static int getTotalPage(int everyPage,int totalCount) {//获得总页数
		int totalPage = 0;
		if(totalCount != 0 &&totalCount % everyPage == 0) {
			totalPage = totalCount / everyPage;
		} else {
			totalPage = totalCount / everyPage + 1;
		}
		return totalPage;
	}
	public static int getBeginIndex(int everyPage,int currentPage) {//获得起始位置
		return (currentPage - 1) * everyPage;
	}
	public static boolean getHasPrePage(int currentPage) {//获得是否有上一页
		return currentPage == 1 ? false : true;
	}
	public static boolean getHasNextPage(int totalPage, int currentPage) {	//获得是否有上一页
		return currentPage == totalPage || totalPage == 0 ? false : true;
	}
}
package com.sanqing.util;
public class Page {
	private int everyPage;			//每页显示记录数
	private int totalCount;			//总记录数
	private int totalPage;			//总页数
	private int currentPage;		//当前页
	private int beginIndex;			//查询起始点
	private boolean hasPrePage;		//是否有上一页
	private boolean hasNextPage;	//是否有下一页
	public Page(int everyPage, int totalCount, int totalPage, 
			int currentPage,int beginIndex, boolean hasPrePage,
			boolean hasNextPage) {	//自定义构造方法
		this.everyPage = everyPage;
		this.totalCount = totalCount;
		this.totalPage = totalPage;
		this.currentPage = currentPage;
		this.beginIndex = beginIndex;
		this.hasPrePage = hasPrePage;
		this.hasNextPage = hasNextPage;
	}
	public Page(){}					//默认构造函数
	public int getEveryPage() {		//获得每页显示记录数
		return everyPage;
	}
	public void setEveryPage(int everyPage) {//设置每页显示记录数
		this.everyPage = everyPage;
	}
	public int getTotalCount() {//获得总记录数
		return totalCount;
	}
	public void setTotalCount(int totalCount) {//设置总记录数
		this.totalCount = totalCount;
	}
	public int getTotalPage() {//获得总页数
		return totalPage;
	}
	public void setTotalPage(int totalPage) {//设置总页数
		this.totalPage = totalPage;
	}
	public int getCurrentPage() {//获得当前页
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {//设置当前页
		this.currentPage = currentPage;
	}
	public int getBeginIndex() {//获得查询起始点
		return beginIndex;
	}
	public void setBeginIndex(int beginIndex) {//设置查询起始点
		this.beginIndex = beginIndex;
	}
	public boolean isHasPrePage() {//获得是否有上一页
		return hasPrePage;
	}
	public void setHasPrePage(boolean hasPrePage) {//设置是否有上一页
		this.hasPrePage = hasPrePage;
	}
	public boolean isHasNextPage() {//获得是否有下一页
		return hasNextPage;
	}
	public void setHasNextPage(boolean hasNextPage) {//设置是否有下一页
		this.hasNextPage = hasNextPage;
	}
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 简单的考勤系统

    连接数据库类 package com.lianrui.it; import java.sql.Connection; import java.sql.Driv...

    用户1220053
  • 没用的程序设计题-美甲帮笔试题

    package com.gulf.test; /** * 今天面试的一个递归程序题: * 1 1 2 3 5 8 13 ... * 求第30位是什么 ...

    用户1220053
  • Mysql配置和连接池配置样例。

    给出一个Mysql配置和连接池配置样例。 1.db.properties #MySql\u6570\u636e\u5e93\u914d\u7f6e connec...

    用户1220053
  • c#6.0特性

    (2)表达式属性(只有一个get访问器的单行属性,可以使用lambda表达式语法编写)

    wfaceboss
  • 仿网易新闻的顶部导航指示器

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gdutxiaoxu/article/details...

    用户2965908
  • Java 设计模式系列(10) —— 装饰器模式

    装饰器模式的定义: 动态的给一个对象添加额外的职责,就功能来说,装饰模式相比子类更为灵活

    求和小熊猫
  • java设计模式-工厂方法模式

    工厂方法模式提供一个用于创建产品的接口,由实现类决定实现哪些产品。工厂方法模式使一个类的实例化延迟到子类,并且只适用于一个产品的等级结构。

    会说话的丶猫
  • 苹果13寸MacBook Pro大升级:十代酷睿性能可飙升至280%,GPU游戏性能提升80%!

    继苹果低调发布新版iPhone SE不久,刚刚刚刚突然更新了13寸版的Macbook Pro,着实打了消费者一个措手不及。

    新智元
  • Python 数据库操作 SQLAlchemy

    在运行过程中所有的的数据都存储在内存 (RAM) 中,「RAM 是易失性存储器,系统掉电后 RAM 中的所有数据将全部丢失」。在大多数情况下我们希望程序运行中产...

    keinYe
  • C#自定义事件:属性改变引发事件示例

    1 using System; 2 using System.Collections.Generic; 3 using System.Linq; ...

    CNXY

扫码关注云+社区

领取腾讯云代金券