Hibernate——基于HibernateDaoSupport的三个分页控制方法
来源:互联网 发布:河南公务员网络 编辑:程序博客网 时间:2024/06/06 18:42
import java.sql.SQLException;import java.util.List;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import org.springframework.orm.hibernate3.HibernateCallback;import org.springframework.orm.hibernate3.HibernateTemplate;import org.springframework.orm.hibernate3.support.HibernateDaoSupport;/** * 基于HibernateDaoSupport的三个分页控制方法 * @author Administrator * */public class PageDaoHibernateDaoSupport extends HibernateDaoSupport {/*** 使用HQL语句进行分页查询操作* offset 第一条记录的索引* pageSize 每页需要显示的记录数* @return 当前页的所有记录*/public List findByPage(final String hql, final int offset, final int pageSize){List list = getHibernateTemplate().executeFind(new HibernateCallback() {public Object doInHibernate(Session session) throws HibernateException,SQLException {List result = session.createQuery(hql).setFirstResult(offset) //其中offset可为(page - 1) * pagesize.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){//System.out.println("PageDaoHibernate.findByPage()");List list = 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){List list = 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;}}
总页数如:
int totalpage = ((totalcount + pagesize) - 1) / pagesize;totalcount:总数据量
pagesize:每页显示的记录数
- Hibernate——基于HibernateDaoSupport的三个分页控制方法
- hibernate 基于HibernateDaoSupport的三个分页控制方法
- 基于HibernateDaoSupport的三个分页控制方法
- 基于HibernateDaoSupport的分页
- Spring整合hibernate(3)之基于HibernateDaoSupport的整合
- ——基于方法的权限控制
- Hibernate中HibernateDaoSupport 的源码
- Spring整合Hibernate中HibernateDaoSupport类的分页处理具体代码
- HibernateDaoSupport 分页
- Spring Security——基于方法的权限控制
- HibernateDaoSupport的用法、Hibernate模板的用法
- 基于hibernate实现的分页技术
- 基于hibernate实现的分页技术
- 基于hibernate实现的分页技术
- 基于jpa/springData ,hibernate,mybtis的分页
- 基于hibernate实现的分页技术
- 基于hibernate实现的分页技术
- 基于hibernate的HibernateCallback分页技术
- Spring Aop原理及拦截器
- C++之文件IO操作流
- UNREFERENCED_PARAMETER的作用
- 时钟(图形界面+多线程)
- 歌词迷API——免费获取歌词
- Hibernate——基于HibernateDaoSupport的三个分页控制方法
- WSAGetLastError
- Documentation/arm/firmware.txt
- C++之异常处理
- 加大tomcat的java内存
- Spring3中的mvc:interceptors标签配置拦截器
- ASP.NET MVC 入门1、简介
- Android Library Project 使用问题总结
- 2-sat模版