zoukankan      html  css  js  c++  java
  • javaweb中实现分页,持续更新……

    大家好,欢迎来到雄雄的小课堂,昨天分享了个分页工具类一个简单的分页工具类,其实,也是为今天的分享做的铺垫,今天,给大家带来的是javaweb实现分页的全过程!

    前言:为什么需要分页?假设某大学有人数一万人,学生信息管理系统需要查询所有大学生的信息,那么就会将1w个学生的信息都查询的显示在页面中,管理员每次都需要不断的往下拖动页面才能浏览完所有学生信息,并且还容易看错行。有没有一种方法,既可以显示多条信息,又不用你拖动页面呢?答案当然是有的,那就是我们今天所有看的分页!

    01

    实现分页的方式

    其实,实现分页的方式有好多种,一种是直接将需要查询的数据一次性查询出来,放在一个集合中,每次在集合中遍历出需要展示的数据即可。但是,这种方法是有缺点的,第一,看到的数据可能不是最新的,比如实时更新的数据(股票、外汇数据)肯定不能用这种方式。其次,如果数据库中有几万条数据的话,这么一次都查询出来往集合中扔,效率是非常低下的,耗时也很多。

    第二种实现分页的方式就是,我们可以从数据库中查询我们每页所需要的数据,比如每页显示5条,那你就在数据库中查询5条,实时从数据库中查询,一来避免了数据库过大性能的问题,二来,由于每次都是从数据库中实时查询的,所以也就不会存在数据过期问题了。

    今天,我们就用第二种方式来实现分页。

    02

    实现分页的步骤

    1.确定页大小(每页显示的数据量)

    这个其实很好理解,每页显示5条,就设置5条即可,每页显示10条,就设置10条,当然,这个每页显示的数据量也可以交给用户决定。

    2.计算显示的总页数

    有了每页显示的条数,在给你所有条数,你会不会算一共有多少页?就像一共有21个鸡蛋(总记录数)需要给篮子里面装,每个篮子最多只能放5(每页显示的数据量)个,那么你需要多少个篮子才能把21个鸡蛋都放完?怎么算?

    21/5=4余1,余下来的这一个怎么办?当然是在找个篮子放进去,这样的话,我们就需要4+1个篮子。

    数据也是这样的,如果有19条数据,每页显示5条,需要多少页?

    19/5=3余4,那最后总页数就是3+1,4页!

    思维转换到java中,代码如下:

    总页数 = 总记录数%页大小==0?总记录数/页大小: 总记录数/页大小+1;

    那有同学会问,老师,总记录数咋来的,你也没告诉我啊?总记录数我们只需要一条sql语句就搞定了,如下:

    Selct count(*) from student;

    3.写分页的sql语句

    目前我们就以mysql为例,mysql中分页的语法如下:

    Select * from student limit 0,5;

    其中student为数据表0为偏移量,动态的,5为页大小,固定的。

    假使我们取第一页数据,不需要便宜,那偏移量就是0,如果我们取第二页的数据,需要从第六条开始显示,需要越过第一页的1-5条数据,偏移量得从6开始,可以总结出一个规律,那就是:

    偏移量=(当前页-1)*页大小

    例如,第三页的偏移量,即:(3-1)*5=10;

    今天我们就先看这些,明天将今天的理论知识运用到javaweb的代码中做一个具体的案例。

    往期精彩

    一个简单的分页工具类

    2020-11-23

    javaWeb中,如何通过Commons-FileUpload组件上传文件

    2020-11-22

    多功能语音播放器

    2020-11-21

    CSS动画示例(上一篇是CSS过渡…)

    2020-11-20

    CSS3中的动画示例

    2020-11-19

    CSS3的几个变形案例……

    2020-11-18

    点分享

    点点赞

    点在看

  • 相关阅读:
    函数和递归
    对象
    数组
    For...In 声明
    JavaScript 变量的生存期
    Hadoop Hive与Hbase整合+thrift
    朱子治家格言
    大学
    《孙子兵法》【谋攻第三】
    棋经十三篇
  • 原文地址:https://www.cnblogs.com/a1111/p/14877358.html
Copyright © 2011-2022 走看看