67,515
社区成员
发帖
与我相关
我的任务
分享
//first表示起始位置,pageSize表示每页显示多少记录
public static void pagenate( int first ,int pageSize){
int i;
Session session=HibernateSessionFactory.getSession();
String hql="from student";
String hql1="select count(*) from student";//查询有多少记录
Query query =session.createQuery(hql1);
List list=query.list();
int count=((Integer)list.get(0)).intValue();
int pageCount=(count+pageSize-1)/pageSize;//这里不明白为什么要-1,谁能解释下。谢谢了!
Query query2=session.createQuery(hql);
for(i=first ;i<pageCount;i++)
{
query2.setFirstResult(first*pageSize);
query2.setMaxResults(pageSize);
List list1=query2.list();
Iterator it=list1.iterator();
while(it.hasNext()){
student stu=(student)it.next();
System.out.println(stu.getSno()+"\t"+stu.getSaddress());
}
}
}