zoukankan      html  css  js  c++  java
  • dljd_048_hibernate_单表查询_mysql分页查询

    一、hibernate中实现mysql分页查询示例

      

    package edu.aeon.hibernate.test;
    
    import java.util.List;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
    import org.junit.Test;
    import edu.aeon.aeonutils.hibernate.getsessionutil.GetSessionUtil;
    import edu.aeon.beans.Student;
    /**    
     * [说明]:分页查询
     * @author aeon
     *
     */
    public class TestQueryByPage {
        @Test
        public  void testHqlQueryByPage() {
            Transaction transaction=null;
            Session session=null;
            try {
                session = GetSessionUtil.getSession();
                transaction=session.getTransaction();
                transaction.begin();
                // 第一种动态参数赋值[start]
                String hql="from Student";
                int pageNo=1;//第一页
                int pageSize=2;//每页显示两条
                int pageIndex=(pageNo-1)*pageSize; //根据传进来的页数和每页显示的记录数计算出该页的其实记录
                List<Student> stuList= session.createQuery(hql)
                        .setFirstResult(pageIndex)
                        .setMaxResults(pageSize)
                        .list();
                //[/end]
                for (Student stu : stuList) {
                    System.out.println(stu);
                }
                System.out.println("hql查询!");
                transaction.commit();
            } catch (Exception e) {
                e.printStackTrace();
                //事物的回滚操作
                transaction.rollback();
            }finally{
                /*
                 * 其实这种getCurrentSession获取到的session我们无需手动关闭
                 * 因为当事务提交或者回滚的时候已经做了关闭session操作
                 * 而用openSession获取到的session我们一定要用手动去关闭
                 * */
                if(null!=session){
                    session.close();
                }
            }
        }
    }    

    数据库数据信息截图:

      

    测试结果截图(第一页):

      

    测试结果截图(第二页):

      

    测试结果截图(第三页):

      

    测试结果截图(第四页):

      

    测试结果截图(第五页):

      

    测试每页显示三条记录的第四页截图如下:

      

    如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

  • 相关阅读:
    [国嵌攻略][152][I2C总线介绍]
    [国嵌攻略][151][nandflash驱动程序设计]
    [国嵌攻略][150][实际嵌入式系统环境搭建]
    [国嵌攻略][149][Yaffs2文件系统应用]
    [国嵌攻略][148][MTD系统架构]
    [国嵌攻略][147][简单块设备驱动设计]
    [国嵌攻略][146][块设备驱动实例分析]
    PhpStorm Git 配置
    PHP 创建重用数据库连接函数 mysqli与PDO
    【转载】php程序员:从1.5K到18K 一个程序员的5年成长之路
  • 原文地址:https://www.cnblogs.com/aeon/p/10106343.html
Copyright © 2011-2022 走看看