zoukankan      html  css  js  c++  java
  • Oracle分页查询SQL实现

    首先看SQL 怎么写

     select *
              from
              (
              select a.*,ROWNUM rn
              from (
               最底层查询语句
                  )  a
                    where ROWNUM <= #{endCol}
                )
                where rn > #{startCol}

    注意:Mybatis中 < 是小于号  >是大于号

    当然 我们还需要 select count(*) 最底层查询语句来得到结果集的总数。需要注意的是,在底层查询语句中,一定要加order by语法进行结果排序,分页会毫无意义。序然后再换算出 endCol 和 startCol

    换算代码如下:

    //int totalRecord= 总条数;
                //计算分页
                int intPS=Integer.parseInt(pageSize);
                int intPN= Integer.parseInt(pageNo);
                int intStartCol= intPS*(intPN-1)+1;
                int intEndCol= intPS*intPN-1+1;
                String startCol= String.valueOf(intStartCol);
                String endCol=String.valueOf(intEndCol);
                
                int totalPageNo=totalRecord%intPS>0?totalRecord/intPS+1:totalRecord/intPS;
                //在参数字典中加入分页的起始和结束条目号
                paramsMap.put("startCol",startCol);
                paramsMap.put("endCol", endCol);
  • 相关阅读:
    Pyton 练习题2
    Python 知识点练习
    pycharm 汉化
    关于sublime编辑Python的安装与配置
    python练习题
    虚短和虚断
    OSI的7层协议
    5V电压的制作
    三角波,方波,正弦波的转换
    单片机不工作,晶振是否起振怎么检查
  • 原文地址:https://www.cnblogs.com/oshushu/p/5163623.html
Copyright © 2011-2022 走看看