/** * 使用HQL语句进行分页查询操作 * offset 第一条记录的索引 * pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ public List findByPage(final String hql, final int offset, final int pageSize) throws Exception { List list = this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException { List result = session.createQuery(hql).setFirstResult(offset) .setMaxResults(pageSize) .list(); return result; } }); return list; }
/** * 使用HQL语句进行分页查询操作 * value 如果HQL有一个参数需要传人,则value就是传人的参数 * offset 第一条记录的索引 * pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ public List findByPage(final String hql, final Object value, final int offset, final int pageSize) throws Exception { //System.out.println("PageDaoHibernate.findByPage()"); List list = this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException { List result = session.createQuery(hql).setFirstResult(offset) .setParameter(0, value) .setMaxResults(pageSize) .list(); return result; } }); return list; }
/** * 使用HQL语句进行分页查询操作 * values 如果HQL有多个参数需要传人,则values就是传人的参数数组 * offset 第一条记录的索引 * pageSize 每页需要显示的记录数 * @return 当前页的所有记录 */ public List findByPage(final String hql, final Object[] values, final int offset, final int pageSize) throws Exception { List list = this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(hql); for (int i = 0; i < values.length; i++) { query.setParameter(i, values[i]); } List result = query.setFirstResult(offset) .setMaxResults(pageSize) .list(); return result; } }); return list; }