实用简洁分页器代码 ——【信鸽第一篇】。
成为一个拥有渊博知识的人,拥有丰富的专业知识,足以应对工作中的难题。工作之余,博览群书,提升谈吐。(高筑墙、广积粮、缓称王)
使用此分页器只需要获取当前页的值和数据总条数的值,最后得到了五个值,两个值除外的三个值通过分页器的count方法自动计算。
分页器实现代码:
package com.anxin.entity;
/**
* 构造分页器
*
* @author mac
*/
public class Page {
// 总条数
private int totalNumber;
// 总页数,根据总条数和每一页显示的条数计算出总页数(总条数 / 每页条数 = 总页数)
private int totalPage;
// 当前页(当前)
private int currentPage;
// limit,从第几条开始
private int dbIndex;
// (从第几条开始),一共读取多少条
private int dbNumber;
//当前页显示条数,自定义的
private int showPage = 6;
public int getDbIndex() {
return dbIndex;
}
public void setDbIndex(int dbIndex) {
this.dbIndex = dbIndex;
}
public int getDbNumber() {
return dbNumber;
}
public void setDbNumber(int dbNumber) {
this.dbNumber = dbNumber;
}
public int getTotalNumber() {
return totalNumber;
}
// 接收到总条数
public void setTotalNumber(int totalNumber) {
this.totalNumber = totalNumber;
// 计算总页数
count();
}
// count方法用来计算总页数和其他的条件
public void count() {
// 1、如果总条数能被当前显示的条数(数据)整除
if (this.totalNumber % this.showPage == 0) {
this.totalPage = this.totalNumber / this.showPage;
} else {
this.totalPage = this.totalNumber / this.showPage + 1;
}
// 2、如果从前端获取到的当前页数为负数,或者为0,则查询第一页的数据
if (this.currentPage < 1) {
this.currentPage = 1;
}
if (this.currentPage > this.totalPage) {
this.currentPage = this.totalPage;
}
// 3、设置limit的参数
// 如果从2开始,就是2-1=1,1 * 8 = 8,从8开始,往后查8条(八是自己设置的)
this.dbIndex = (this.currentPage - 1) * this.showPage;
this.dbNumber = this.showPage;
}
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 getShowPage() {
return showPage;
}
public void setShowPage(int showPage) {
this.showPage = showPage;
}
}