使用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();
    }
}
View Code

相关文章: