分页查询:在线和离线

分页查询,就是将将过多的结果在有限的界面上分好多页来显示,这个是很多网站常用的功能,也是最基本的功能
分页查询分为两类:逻辑分页和物理分页
  逻辑分页: 一次性从数据库中获取所有数据存入到session中,缺点访问数据量大session会消耗内存
这种分页很少使用。但是在数据量小,不会被修改的数据,使用逻辑分页会提高程序的执行效率

  物理分页:使用数据库自身所带的分页机制,例如,Oracle数据库的rownum,或者Mysql数据库中的limit等机制来完成分页操作。
因为是对数据库实实在在的数据进行分页条件查询,所以叫物理分页。每一次物理分页都会去连接数据库

在使用SSH框架时候分页查询方式:(完全封装了字符串形式的查询语句)
      根据 Criteria 的特点来方便地进行查询条件的组装,  Hibernate 设计了 CriteriaSpecification 作为 Criteria 的父接口,提供了 Criteria和DetachedCriteria 。
Criteria :在线查询()
  DetachedCriteria :离线查询(下面主要讲离线查询)

DetachedCriteria 案例

//使用离线查询分页
//创建对象
DetachedCriteria criteria =DetachedCriteria.forClass(Product.class);
//设置查询条件
criteria.add(Restrictions.eq("is_hot", 1));
//Criteria add(Criterion criterion)方法 中 criterion对象可以通过Restrictions类或Expression类提供的一系列静态方法创建
//返回结果倒序
criteria.addOrder(Order.desc("pdate"));
List list=this.getHibernateTemplate().findByCriteria(criteria, 0, 10);//从0开始长度为10


参考:http://blog.csdn.net/kjfcpua/article/details/4287248
  http://blog.csdn.net/liujiahan629629/article/details/19698091

你可能感兴趣的:(SSH)