Hibernate-ORM:10.Hibernate中的分页

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------

本篇博客讲述Hibernate中的分页

hibernate中的分页其实很好写,它通过操作对象的方式,来进行分页查询操作

分页无非就是查俩个:1.总记录数,2.当前页的数据

根据当前页的页码(第几页)和页大小(每页展示几条数据),写出类似mysql的limit语句的前后值

直接放代码,我会把注释标明:

    @Test
    /**
     * 分页
     *
     * 01.查询总记录数
     * 02.每页显示的数据
     * 03.总页数
     */
    public void t1Page(){
        String hql="select count(*) from Teacher";//会返回Long类型
        int counts=((Long)session.createQuery(hql).uniqueResult()).intValue();
        /*页大小*/
        int pageSize=2;
        /*总页数*/
        int totalPages=(counts%pageSize==0)?(counts/pageSize):(counts/pageSize+1);
        /*显示第二页内容*/
        int pageIndex=2;
        hql="from Teacher";
        Query query = session.createQuery(hql);;
        /*从哪一条开始查*/
        query.setFirstResult((pageIndex-1)*pageSize);
        /*设置页大小*/
        query.setMaxResults(pageSize);
        List<Teacher> teachers = query.list();
        for (Teacher t:teachers) {
            System.out.println(t);
        }

    }
原文地址:https://www.cnblogs.com/DawnCHENXI/p/9121102.html