优点:既能显示多条数据又不需要拖动
分页查询的后台实现:
从###分页查询#1,#2,#3 LIMIT从下标0开始,每次2个。
查询新闻总条数
SELECT COUNT(1) FROM ###
分页获得新闻数据
计算总页数
package cn.kgc.util;
import java.util.ArrayList;
import java.util.List;
public class PageUtil<T> {
private int currentPage; //当前的页数
private int pageSize; //每页显示的记录数
private int startRow; //每一页开始的条数的下标
private int totalCount; //总记录数
private int totalPage; //总页数
private List<T> lists = new ArrayList<T>(); //每页要在页面上显示的数据
public int getCurrentPage() { //获得当前页数
return currentPage;
}
public void setCurrentPage(int currentPage) { //设置用户访问的当前页数
if (currentPage <= 0) { //如果当前页数<=0
currentPage = 1; //当前的页数从1开始(分页显示数据,只能从第一页开始,不能从第0页,不能从-1 -2...页开始 )
} else if (currentPage > this.getTotalPage()) { //如果用户访问的当前页数>总页数
if (this.getTotalPage() == 0) { //如果总页数=0,说明我们的总记录数为0
currentPage = 1; //给用户展示第一页
} else {
currentPage = this.getTotalPage();//假设总共有2页,用户访问第3页上的数据,此时系统给用户展示第二页的数据
}
}
this.currentPage = currentPage;
}
public int getPageSize() { //获得每页显示的条数
return pageSize;
}
public void setPageSize(int pageSize) { //设置每页显示的条数
if (pageSize <= 0) {
pageSize = 5;
}
this.pageSize = pageSize;
}
//每一页的开始条数的下标
public int getStartRow() {
return (this.getCurrentPage() - 1) * this.getPageSize();
}
//获得总记录数
public int getTotalCount() {
return totalCount;
}
//设置总记录数
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
//获得总页数
public int getTotalPage() {
if (this.getTotalCount() % this.getPageSize() == 0) {
return this.getTotalCount() / this.getPageSize();
} else {
return this.getTotalCount() / this.getPageSize() + 1;
}
}
//获得当前页的数据
public List<T> getLists() {
return lists;
}
//设置当前页的数据
public void setLists(List<T> lists) {
this.lists = lists;
}
}