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 || 点返回首页

  • 相关阅读:
    .NET5都来了,你还不知道怎么部署到linux?最全部署方案,总有一款适合你
    一款基于.NET Core的认证授权解决方案-葫芦藤1.0开源啦
    开源项目葫芦藤:IdentityServer4的实现及其运用
    MySQL大表优化方案
    Sec-Fetch-*请求头,了解下?
    前端开发快速入门
    从零开始打造专属钉钉机器人
    打造钉钉事件分发平台之钉钉审批等事件处理
    React中的高阶组件
    浏览器本地存储方案
  • 原文地址:https://www.cnblogs.com/aeon/p/10106343.html
Copyright © 2011-2022 走看看