在ssh中实现分页方法,这样就可以了:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
/**
*
* @param hql传入的hql语句
* @param curPage当前页
* @param pageSize每页显示大小
* @return
*/
public
List doSplitPage(
final
String hql,
final
int
curPage,
final
int
pageSize){
//调用模板的execute方法,参数是实现了HibernateCallback接口的匿名类,
return
(List)
super
.getHibernateTemplate().execute(
new
HibernateCallback(){
//重写其doInHibernate方法返回一个object对象,
public
Object doInHibernate(Session session)
throws
HibernateException, SQLException {
//创建query对象
Query query=session.createQuery(hql);
//返回其执行了分布方法的list
return
query.setFirstResult((curPage-
1
)*pageSize).setMaxResults(pageSize).list();
}
});
}
|