您的位置:首页 > 数据库 > MySQL

基础之基础-mysql后台分页(O/R映射采用hibernate)

2012-10-15 11:35 561 查看
此方法是通过后台分页的,不是通过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 ...

写完收工,饭饭去喽~~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: