web分页的三种方式,闲来无事总结一下。

1、使用前端表格插件进行分页

例如用bootstrap的拓展table组件,注意设置其分页属性时设置为“client”,

即是 sidePagination:"client", //客户端分页,如果改成server就是服务端分页。

对应的table组件会直接解析你的提供的数据进行分页操作。

优点:实现简单,直接设置前端table组件的参数即可。

缺点:从其实现原理上即可看出,这个数据是用户请求一次,服务器会将该表的所有数据返回到前端,刷新界面和点击下一页的操作的时候都会重复以上操作。显示数据的速度会因为网络带宽、服务器压力等而变慢。

2、后端用代码实现分页

写一个分页的方法,如:

public <T> List<T> pageSet(List<T> list,String limit,String offset){
List<T> list2=new ArrayList();
int limit2=Integer.parseInt(limit);  //页面大小
int offset2=Integer.parseInt(offset); //第几页
for(int i=limit2*(offset2-1),j=0;i<list.size()&&j<limit2;i++,j++)
{
list2.add((T) list.get(i));
}
return list2; }

就是根据当前第几页,每页显示几条数据进行分页数据的处理。

优点:一次请求只会向前端返回一页的数据,浏览器需要接收的数据变少了,页面展示会变快

缺点:本质还是一次请求从服务器获取该表的所有数据,后端代码处理之后只取了其中一部分。

3、数据库用sql语句实现

以MySQL为例, select * from sys_order limit 0,10   //从第0条开始查,一共查询10条记录

优点:真正实现了从数据库就是分页处理

缺点:不知道会不会在数据量大的时候数据库获取数据会变慢,由于没有测试过数据量较大的时候会有较大的速度区别,所以这里不是很清楚。

总结:其实实现方式都是根据需求来的,如果你只是做一个简单展示,数据量少,推荐第一种方式,实现简单。

我个人还是推荐第二和第三种方式,实现其实也很简单,就是多加两个参数就可以了。

PS:当然如果你使用了orm框架如Hibernate和Mybatis,这些框架都有对应的分页查询的拓展jar包,还是提供两个参数,当前页和当前页数据显示条数,就可以实现分页查询。具体可以去百度一下。


转载声明:本文为转载文章,原文章地址如下

作者:黄小泽

来源:CSDN

原文:https://blog.csdn.net/a1216701075/article/details/80793532

web的分页方法的更多相关文章

  1. C# 分页方法

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web; ...

  2. Oracle、SQL Server、MySQL分页方法

    测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 SELECT A.* FROM ( SELECT ROWNUM ROWNO, B.* FR ...

  3. atitit. js 跨界面 页面 web cs 传值方法总结

    atitit. js 跨界面 页面 web cs 传值方法总结 #--需求 js #---两个方法:   直接传跟跟间接传递... 1.直接传跟new form(param)    web使用url方 ...

  4. Sql Server 2012 的新分页方法分析(offset and fetch) - 转载

    最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset ...

  5. phalcon几种分页方法

    phalcon几种分页方法 一: use Phalcon\Paginator\Adapter\Model as PaginatorModel; // Current page to show // I ...

  6. 只是一个用EF写的一个简单的分页方法而已

    只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...

  7. SharePoint2013 SharePoint-Hosted 模式 分页方法

    /**分页js插件 var ListPager = new listPaging(); 先调用start方法加载上下文 然后调用dataLoad方法查询第一页数据 需要设置几个属性值 ListPage ...

  8. C#针对DataTable进行分页方法

    以下的分页方法是针对数据量不是非常大的数据进行的,是在内存中进行的分页操作. /// <summary> /// DataTable分页 /// </summary> /// ...

  9. SQL SERVER 分页方法

    最近项目中需要在SQL SERVER中进行分页,需要编写分页查询语句.之前也写过一些关于分页查询的语句,但是性能不敢恭维.于是在业务时间,在微软社区Bing了一篇老外写的关于SQL SERVER分页的 ...

随机推荐

  1. zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for {root.path}

    1 异常结果 org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented ...

  2. django设置并获取cookie/session,文件上传,ajax接收文件,post/get请求及跨域请求等的方法

    django设置并获取cookie/session,文件上传,ajax接收文件等的方法: views.py文件: from django.shortcuts import render,HttpRes ...

  3. t-sql对被除数为0&除数小于被除数结果为0&除法保留2位小数的处理

    SELECT round(CAST(12 AS FLOAT)/nullif(13,0),2,1) FROM TB

  4. 列出下面几项的URL并解释每部分代表的含义

    列出下面几项的URL并解释每部分代表的含义 a.你的学校 b.你的学校的计算机科学系 c.你的老师的主页

  5. Django中的信号基础知识

    Django中提供了“信号调度”,用于在框架执行操作时解耦.通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者. 1.Django内置信号 1 2 3 4 5 6 7 8 9 10 ...

  6. IBM 3650 M3 yum upgrade后系统无法登陆问题

    一.背景 IBM 3650 M3安装了centos7.2操作系统 今天yum upgrade升级centos7.6,重启系统后发现开不了机,报错如下: Failed to set MokListRT: ...

  7. python三大神器

    Python 中有很多优秀的包,本文主要讲一下 pip, virtualenv, fabric 1. pip 用来包管理 文档:https://pip.pypa.io/en/latest/instal ...

  8. HDOJ 1754 I Hate It (线段树)

    题目: Problem Description 很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少.这让很多学生很反感.不管你喜不喜欢,现在需要你做的是,就是按照老师的要 ...

  9. 876. Middle of the Linked List

    1. 原始题目 Given a non-empty, singly linked list with head node head, return a middle node of linked li ...

  10. 【Android休眠】之PowerKey唤醒源实现【转】

    转自:https://blog.csdn.net/u013686019/article/details/53677531 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog ...