这篇文章主要为大家详细介绍了java实现简单的分页功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了Java实现分页功能的具体代码,供大家参考,具体内容如下
不用根据改变SQL的形式去查询;
直接查询所有的数据,根据页码自动显示数据;
分页对象
public class PageUtils implements Serializable {
/**
*
*/
private static final long serialVersionUID = -5247614532234782640L;
public final static String PAGE = "page";
public final static String PAGE_NO = "pageno";
public final static String PAGE_SIZE = "pagesize";
private long pageSize=10;//每页显示记录数
private long firstResult=0;//当页第一条记录号
private long totalCount;//总记录数
private long totalPage;//总页码
private long pageNo=1;//当前页码
private List> sumData;//此集合可用来保存 合计数据
private List> data;//查询结果
public long getPageSize() {
return pageSize;
}
public void setPageSize(long pageSize) {
this.pageSize = pageSize;
}
public long getFirstResult() {
if(pageNo>0){
firstResult=pageSize * (pageNo -1);
}else{
firstResult = 0;
}
return firstResult;
}
public long getNextPageResult(){
if(pageNo>0){
return pageSize*(pageNo-1);
}else{
return pageNo;
}
}
public void setFirstResult(long firstResult) {
this.firstResult = firstResult;
}
public long getTotalCount() {
return totalCount;
}
public void setTotalCount(long totalCount) {
this.totalCount = totalCount;
totalPage = this.totalCount/pageSize;
if (totalPage == 0 || totalCount % pageSize != 0) {
totalPage++;
}
}
public long getTotalPage() {
return totalPage;
}
public void setTotalPage(long totalPage) {
this.totalPage = totalPage;
}
public long getPageNo() {
return pageNo;
}
public void setPageNo(long pageNo) {
this.pageNo = pageNo;
}
public List> getData() {
return data;
}
public void setData(List> data) {
this.data = data;
}
/**
* 是否第一页
*/
public boolean isFirstPage() {
return pageNo <= 1;
}
/**
* 是否最后一页
*/
public boolean isLastPage() {
return pageNo >= getTotalPage();
}
/**
* 下一页页码
*/
public long getNextPage() {
if (isLastPage()) {
return pageNo;
} else {
return pageNo + 1;
}
}
/**
* 上一页页码
*/
public long getPrePage() {
if (isFirstPage()) {
return pageNo;
} else {
return pageNo - 1;
}
}
public PageUtils(){}
public PageUtils(long pageNo){
this.pageNo=pageNo;
}
public PageUtils(long pageNo,long pageSize){
this.pageNo=pageNo;
this.pageSize = pageSize;
}
public List> getSumData() {
return sumData;
}
public void setSumData(List> sumData) {
this.sumData = sumData;
}
}查询的数据实体
立即学习“Java免费学习笔记(深入)”;
I-Shop购物系统
下载
部分功能简介:商品收藏夹功能热门商品最新商品分级价格功能自选风格打印结算页面内部短信箱商品评论增加上一商品,下一商品功能增强商家提示功能友情链接用户在线统计用户来访统计用户来访信息用户积分功能广告设置用户组分类邮件系统后台实现更新用户数据系统图片设置模板管理CSS风格管理申诉内容过滤功能用户注册过滤特征字符IP库管理及来访限制及管理压缩,恢复,备份数据库功能上传文件管理商品类别管理商品添加/修改/
在查询的实体里添加页码和每页显示条数参数;
private int pageSize; //每页显示的条数
private int pageNo; //当前页码
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}控制层Controller
@RequestMapping("/list")
public String list(Model model,ChannelValueInfoView input) {
// input:传入的参数为对象
PageUtils page=new PageUtils();
//如果传入的当前条数为0,则赋予值(首次查询不带参);
if(input.getPageSize()==0){
//当前页码第一页
input.setPageNo(1);
//每页显示条数,当前每页显示10条数据;
input.setPageSize(10);
}
page.setPageNo(input.getPageNo());
page.setPageSize(input.getPageSize());
//核心分页代码
PageHelper p=new PageHelper();
Page l=p.startPage(input.getPageNo(),input.getPageSize());
//紧跟着的第一个select查询将会被分页
channelValueService.getChannelValueInfoViewList(input);
model.addAttribute("input", input);
page.setData(l);
page.setTotalCount(l.getTotal());
model.addAttribute("page", page);
return "index";
} 页面处理
//循环穿过来的PAGE.data数据----------