使用Criteria进行分页查询,无论是使用Oracle,MySQL,NoSQL,DB2,分页查询的代码写法都相同。
分页查询代码示例:
package com.demo.test; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; import org.hibernate.criterion.Restrictions; import com.demo.pojo.Product; public class TestHibernate{ public static void main(String[] args){ SessionFactory sf=new Configuration().configure().buildSessionFactory(); Session session=sf.openSession(); session.beginTransaction(); String name="demo"; Criteria c=session.createCriteria(Produt.class); c.add(Restriction.like("name","%"+name+"%")); c.setFirstResult(2);//从第二条数据开始 c.setMaxResults(5);//一共查询5条数据 List<Product> list=c.list(); for(Product p:list){ System.out.println(p.getName()+"\t"); } session.getTransaction().commit(); session.close(); sf.close(); } }