• 分页关键知识点总结


    分页的两种方式:

    1.     使用复杂的子查询sql语句实现分页;

    2.     使用Hibernate Query接口提供的方法:

    SetFirstResult(): 设置第一条记录的位置,初始位置为0,参数为(currentPage-1)*pageSize;

    SetMaxResults(): 设置最大返回的记录条数,参数为PageSize。

     

    分页查询涉及的参数:

    记录总数 totalCount: select count(*) from tableName;

    总页数 totalPage: totalCount%pageSize==0? totalCount/pageSize: totalCount/pageSize+1;

    每页记录数 pageSize

    当前页码数currentPage

     

    第一种方式:

    sql = select * from (select a.*,ROWNNUM rn from (select * from news ) a where ROWNNUM >=?) where rn<=?;

    pstmt = con.prepareStatement(sql);    

    起始记录数:(currentPage-1)*pageSize+1;

    结束记录数:currentPage*pageSize;

    设置参数pstmt.setObject();

    rst = pstmt.executeQuery();    // 执行查询,获取结果集

     

    第二种方式:

    Hql=select id,author from news; // 不需要分页参数

    Query queryList = session.createQuery(hql);

    queryList.setFirstResult((currPage-1)*pageSize);//开始

    queryList.setMaxResults(pageSize); //每页的数据量

    lists = queryList.list(); // 直接获取list集合

     

    前台页面

     

    共?条第?页共?页 首页上一页下一页尾页跳转?页每页?条

    红色部分为静态显示,黄色部分为js动作控制,主要改变currentPage参数值。

    绿色部分可静态显示,也可动态改变。

    因此需要传递的参数:currentPage,(pageSize)

     

    注意首次查询应对传递参数进行非空判断,如果为空应赋默认值。

  • 相关阅读:
    tip
    tip
    paper clip 使用
    这个菜单有点cool
    jqueryoptiontree plugin introduce by frederick.mao
    ruby语法不理解
    近来心得,心不可太贪,见好就收
    XPCOM的有关链接
    rails router
    rails3高端observer模式
  • 原文地址:https://www.cnblogs.com/archermeng/p/7537450.html
Copyright © 2020-2023  润新知