zoukankan      html  css  js  c++  java
  • 浅谈Java分页技术

    话不多言、我们要实现java分页技术,我们首先就需要定义四个变量,他们是:

    int  pageSize;//每页显示多少条记录

    int pageNow;//希望现实第几页

    int pageCount;//一共有多少页

    int rowCount;//一共有多少条记录

    说明:

    1.pageSize是指定的

    2.pageNow是用户选择的

    3.rowCount是从表中查询得到的

    4.pageCount是计算得到的,该计算为:

    if(rowCount%pageSize==0)

    {

      pageCount=rowCount/pageSize;

    }

    else

    {

      pageCount=rowCount/pageSize+1;

    }

    以上说明可能大家听的有点云里雾里,我来举个例子具体说明一下:

    有用户表,共9条记录,即:rowCount;每页显示3条记录,即:pageSize=3;那么根据我们的算法:pageCount=3,刚好不多不少,如果每页显示四条记录,pageSize=4,那么pageCount=3,那么最后一页只会有1条记录,所以,不管怎样都是正确的。

    针对前面提出的问题,我们很容易想到,使用select 字段名列表 from 表名 where id between ? and ?

    我们以一个users表为例,显示第三页,该查询语句就是:select * from users userId between 7 and 9;

    这个sql语句确实是比较快,但是它有一个问题,就是如果表的id被删除了,那么,某页可能就会少一条记录。在Sqlserver的查询分析器中实验一下,因此我们的最终解决方法是如下语句:

    select top pageSize 字段名列表 from 表名 where id not in(select top pageSize*(pageNow-1) id from 表名);

  • 相关阅读:
    java static关键字的四种用法
    修改Intellij IDEA模板注解@author变量user内容
    iIDEA: 运行Scala代码右键没有Run选项
    idea 无法创建Scala class 选项解决办法汇总
    scala之idea下如何新建scala工程
    scala之windows环境安装与配置
    @RestController注解
    @component的作用详细介绍
    springboot 日期参数前后台转换问题
    MySQL数据库硬件选择
  • 原文地址:https://www.cnblogs.com/Jasxu/p/java_fenye.html
Copyright © 2011-2022 走看看