您的位置:首页 > 其它

hibernate3与hibernate4实现分页查询的简单方法

2017-03-29 15:59 441 查看

1.hibernate3实现分页查询

hibernate3实现分页查询需要继承HibernateDaoSupport类,实现代码如下:

protected List<T> findByPage(final String hql,final int pageNo,final int pageSize,final Object...params){
List<T> list = getHibernateTemplate().execute(new HibernateCallback<List<T>>() {

@SuppressWarnings("unchecked")
@Override
public List<T> doInHibernate(Session arg0) throws HibernateException, SQLException {
Query query = arg0.createQuery(hql);
for(int i=0,len=params.length;i<len;i++){
query.setParameter(i, params[i]);
}
return query.setFirstResult((pageNo-1)*pageSize)
.setMaxResults(pageSize)
.list();
}
});
return list;
}


2.hibernate4实现分页查询

hibernate4实现分页查询,需要在实现类中注入SessionFactory实例。实现代码如下:

@SuppressWarnings("unchecked")
protected List<T> findByPage(String hql,int pageNo,int pageSize,Object...params)
{
Query query = getSessionFactory()
.getCurrentSession().createQuery(hql);
for(int i=0,len=params.length;i<len;i++)
{
query.setParameter(i, params[i]);
}
return (List<T>)query.setFirstResult((pageNo-1)*pageSize)
.setMaxResults(pageSize)
.list();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hibernate string 分页