java分页
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java分页相关的知识,希望对你有一定的参考价值。
用top top 吧我只举例了:以sqlServer吧
select top A * from student where id not in (select top A*(B-1) id from student);
A是每页的数目,B是页码
这句sql语句的子查询意思就是:查询前A*(B-1)条数据的id
而整个sql语句查询的是id不再这个子查询范围内的前A条数据
也就是说,第一页 每页10条数据,
子查询查出 10*(1-1) = 0条数据,也就是第一页应该是整个表中的最前面10条数据
而第二页就是 10*(2-1) = 10 ,也就是这一次查询出前10条数据时过滤掉第一页的数据的
其实如果用了hibernate 会发现,有现成的方法
Query对象
query.setFirstResult(A);//设置当前页码,从0开始
query.setMaxResults(B);//设置每页显示数目 参考技术A 你的问题很大啊......的问题很大啊......问题很大啊.....题很大啊....很大啊.....大啊.....啊......啊.....
java分页查询
//记算总页数
intPageCount = (intRowCount+intPageSize-1) / intPageSize;
这个算法怎么搞出来的?说一下,谢谢
intPageCount=(intRowCount-1/intPageSiez)+1;
如果introwCount(总记录)=8,intPageSize(每页记录)=8则共为1页,如果rowCount=14,inPageSize=8则为2页,就是说总页数至少是要比8的倍数多1才会多翻一页.你想想如果一页显示八个记录,而总数刚好最后页有8个记录,你会翻页吗,不会的吧!!就这个道理
其实可以用为intPageCount=intRowCount%intPageSize==0?(intRowCount)/intPageSize:(intRowCount/intPageSize+1);
假设rowCount(总记录数)=8 intPageSize(每页记录数)=8,那么总页数就是因为8%8==0则8/8=1
就是一页
假设rowCount=14 intPageSize=8则总页数就是因为14%8!=0则14/8+1=2
就是两页这样分析楼主不知道能否明白 参考技术A package com.yonder.shill.common;
/**
* 用来处理分页的类
* @author shill
*/
public class Pagination
private int pageIndex; //当前页的序号
private int pageSize; //每页的大小
private long rowCount; //总记录条数
private int pageCount; //总页数
private int fromIndex; //记录的开始序号
private int toIndex; //记录的结束序号
public Pagination(int pageIndex, int pageSize, long rowCount)
this.pageIndex = pageIndex;
this.pageSize = pageSize;
this.rowCount = rowCount;
if (rowCount%pageSize>0)
this.pageCount = (int)(rowCount/pageSize + 1);
else
this.pageCount = (int)(rowCount/pageSize);
this.fromIndex = (pageIndex-1)*pageSize;
if ((this.fromIndex+pageSize)>rowCount)
this.toIndex = (int)rowCount;
else
this.toIndex = this.fromIndex + pageSize;
public int getFromIndex()
return fromIndex;
public void setFromIndex(int fromIndex)
this.fromIndex = fromIndex;
public int getPageCount()
return pageCount;
public void setPageCount(int pageCount)
this.pageCount = pageCount;
public int getPageIndex()
return pageIndex;
public void setPageIndex(int pageIndex)
this.pageIndex = pageIndex;
public int getPageSize()
return pageSize;
public void setPageSize(int pageSize)
this.pageSize = pageSize;
public long getRowCount()
return rowCount;
public void setRowCount(long rowCount)
this.rowCount = rowCount;
public int getToIndex()
return toIndex;
public void setToIndex(int toIndex)
this.toIndex = toIndex;
这是我自己写了用的.看对你有没有作用... 参考技术B 这有个例子,来看看吧
http://hi.baidu.com/javajavajava/blog/item/cc8497af85bbb7c87dd92a79.html
参考资料:http://hi.baidu.com/javajavajava/blog/item/cc8497af85bbb7c87dd92a79.html
参考技术C 不知道啊?????????????????????????、、、、、、、没用过
以上是关于java分页的主要内容,如果未能解决你的问题,请参考以下文章