现在的位置: 首页 > 综合 > 正文

扩展HibernateTemplate,实现分页查询 (回调)

2013年10月05日 ⁄ 综合 ⁄ 共 1057字 ⁄ 字号 评论关闭
 /**
* 使用hql 语句进行操作
* @param hql
* @param offset
* @param length
* @return List
*/
public List getListForPage(final String hql, final int offset,
     final int length) {

List list = getHibernateTemplate().executeFind(new HibernateCallback() {
     public Object doInHibernate(Session session)
     throws HibernateException, SQLException {
     Query query = session.createQuery(hql);
     query.setFirstResult(offset);
     query.setMaxResults(length);
     List list = query.list();
     return list;
     }
});
return list;
}
/**
* 使用criterion进行操作
* @param arg
* @param criterions
* @param offset
* @param length
* @return List
*/
protected List getListForPage(final Class arg, final Criterion[] criterions,final int offset, final int length) {
List list = getHibernateTemplate().executeFind(new HibernateCallback() {
     public Object doInHibernate(Session session)
     throws HibernateException, SQLException {
     Criteria criteria = session.createCriteria(arg);
     //循环遍历添加约束条件
     for (int i = 0; i < criterions.length; i++) {
     criteria.add(criterions);
     }
     criteria.setFirstResult(offset);
     criteria.setMaxResults(length);
     return criteria.list();
     }
});
return list;

 

抱歉!评论已关闭.