参考我以前写的这段代码吧:
先求出总的记录数 用count函数。
if(total_num % page_size==0){ // 取得总页数
total_page = total_num/page_size;
}else{
total_page = total_num/page_size +1;
}
if(pageNo > total_page) pageNo= total_page;
int start=(pageNo-1)*page_size; //开始数据的位置
int rowNum=page_size; //每页显示数据 Session session = getSession(); //取得session
Query query=session.createQuery(hql); //查询符合条件的数据
query.setFirstResult(start);
query.setMaxResults(rowNum);
List list = query.list();
先求出总的记录数 用count函数。
if(total_num % page_size==0){ // 取得总页数
total_page = total_num/page_size;
}else{
total_page = total_num/page_size +1;
}
if(pageNo > total_page) pageNo= total_page;
int start=(pageNo-1)*page_size; //开始数据的位置
int rowNum=page_size; //每页显示数据 Session session = getSession(); //取得session
Query query=session.createQuery(hql); //查询符合条件的数据
query.setFirstResult(start);
query.setMaxResults(rowNum);
List list = query.list();
但是楼上的没有理解我的意思!
楼上说的startRow和rowNum都能获得啊!
关键是要想得到先排好顺序
在从排好顺序
再从排好顺序里从startRow开始取!上面的是先按索引取出后再排序的!
也就是说不管你按什么排序 他都是先按索引从startRow取出同样的数据(不管按什么排序取的数据是相同的那几条记录)
然后再把这些相同的数据排序 并不是先排序再取!我想解决的是先排序再从startRow开始取!(按不同排序大部分取的数据不相同)
不知道有没有表达清楚!