hibernate实现分页demo
/** * 分页获取数据 * @param firstResult 起始个数 * @param maxResult 每页显示的个数 * @param sql 查询语句 * @return List */public List getPageRec(final int firstResult, final int maxResult, final String sql) { return getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session s) throws HibernateException, SQLException { Query q = s.createQuery(sql); q.setFirstResult(firstResult); q.setMaxResults(maxResult); q.setReadOnly(true); return q.list(); } });}如上所示,即为hibernate 通用的分页语句
public list getby分页(final int start, final int max) {//start表示从第几条开始显示,max表示一次显示几条数据
list page = new arraylist();
page=(list)this.gethibernatetemplate().executefind(new hibernatecallback(){
public object doinhibernate(session session)
throws hibernateexception, sqlexception {
list list = new arraylist();
list = session.createquery("from users").setfirstresult(start).setmaxresults(max).list();//这里设置分页显示的数据
return list;
}
});
return page;
}
该方法是在你的dao实现类继承了hibernatedaosupport方可使用。