读书人

hibernateTemple 扩充分页

发布时间: 2012-09-10 22:20:12 作者: rapoo

hibernateTemple 扩展分页

/** * 使用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;}

读书人网 >编程

热点推荐