SSH框架之Hibernate的Criteria 查询、本地SQL查询、分页查询

一、Criteria 查询

二、SQLQuery, 本地SQL查询

三、分页查询
1、代码:

package sram.query;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.ScrollableResults;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Restrictions;
import org.junit.Test;

public class App_page {
    public static SessionFactory sf;
    static{
        sf = new Configuration()
            .configure()
            .addClass(Dept.class)
            .addClass(Employee.class)//测试使用
            .buildSessionFactory();
    }

    //分页查询
    //注意: 必须按照所示123的顺序书写,顺序不能调换
    @Test
    public void all(){
        Session session = sf.openSession();
        session.beginTransaction();

        Query q = session.createQuery("from Employee");

        //1.总记录数
        //这种方式也可以session.createQuery("select count(*) from Employee");
        //但是hql给我提供了一个更好的方法
        ScrollableResults scroll = q.scroll();//得到滚动的结果集
        scroll.last();//滚动到最后一行
        int totalCount = scroll.getRowNumber()+1;//得到滚动的记录数,即总记录数,但是是从0开始,所以要+1

        //2.设置分页参数
        q.setFirstResult(0);
        q.setMaxResults(2);

        //3.查询
        System.out.println(q.list());

        System.out.println("总记录数:"+totalCount);

        session.getTransaction().commit();
        session.close();

        /*
        Criteria查询和sql查询也支持上述的ScrollableResults对象进行分页查询
            Criteria criteria = session.createCriteria(Employee.class);
            session.createSQLQuery("from t_employee");
        */
    }
}

2、运行结果:

Hibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docxHibernate HQL查询 分页查询 模糊查询.docx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值