当前位置:首页 > 数据库 > Oracle

Oracle -Mybatis动态SQL查询分页的实现

首先看SQL 怎么写

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

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

当然 我们还需要 select count(*) 最底层查询语句来得到结果集的总数。然后再换算出 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);

 

原文:http://www.cnblogs.com/oshushu/p/5163623.html


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐