此方法是通过后台分页的,不是通过sql语句分页的,不废话了 直接上代码
后台分页的方法:
public List<?> getPageContent(String hql, int page, int span) {
List temp = new ArrayList();
Session sess = sf.openSession();
Query q = sess.createQuery(hql);
List list = q.list();
int i = 0;
while ((page - 1) * span + i < list.size() && i < span) { //分页代码
temp.add(list.get((page - 1) * span + i));
i++;
}
sess.close();
return temp;
}
hql为select语句,不带分页信息;
page为要显示的当前页;
主要看while循环里面的代码即可,span为一页显示记录的个数,如果想知道sf是什么,就继续往下看吧,否则看到这就OK了
sf为SessionFactory的实例
还有半个小时到吃饭时间,再来个查totalPage的方法吧
public int getTotalPage(String hql int span) {
Session sess = sf.openSession();
Query q = sess.createQuery(hql);
List<Long> list = q.list();
int count = (list.get(0)).intValue();
int page = (count % span == 0) ? (count / span) : (count / span + 1);
sess.close();
return page;
}
hql一般为select count(*) from table where ...
写完收工,饭饭去喽~~~~