81,092
社区成员
发帖
与我相关
我的任务
分享
// 通过给定的hql、页数(pageNo)、最大行数(maxRow),args为hql语句中占位符的实际值,分页查询数据
@SuppressWarnings("unchecked")
public List getPageList(final String hql, final Integer pageNo,
final Integer maxRow, final Object[] args) {
// 这个方法返回结果是个Object,强转为需要类型
return (List) template.execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// 创建一个query并设置分页的参数
Query query = session.createQuery(hql).setFirstResult(
(pageNo - 1) * maxRow).setMaxResults(maxRow);
// 若hql语句中没有使用占位符,则返回查询结果
if (args != null){
// 若hql语句中使用了占位符,将这些参数逐个放入hql中,并返回查询结果
for (int i = 0; i < args.length; i++) {
query.setParameter(i, args[i]);
}
}
return query.list();
}
});
}
// 通过给定的hql、页数(pageNo)、最大行数(maxRow),args为hql语句中占位符的实际值,分页查询数据
@SuppressWarnings("unchecked")
public List getPageList(final String hql, final Integer pageNo,
final Integer maxRow, final Object[] args) {
// 这个方法返回结果是个Object,强转为需要类型
return (List) template.execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
// 创建一个query并设置分页的参数
Query query = session.createQuery(hql).setFirstResult(
(pageNo - 1) * maxRow).setMaxResults(maxRow);
// 若hql语句中没有使用占位符,则返回查询结果
if (args == null)
return query.list();
// 若hql语句中使用了占位符,将这些参数逐个放入hql中,并返回查询结果
for (int i = 0; i < args.length; i++) {
query.setParameter(i, args[i]);
}
return query.list();
}
});
}