web的分页方法
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的分页方法的更多相关文章
- C# 分页方法
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web; ...
- Oracle、SQL Server、MySQL分页方法
测试用例:查询TEST_TABLE表中TEST_COLUMN列的第10-20条数据 1,Oracle分页方法 SELECT A.* FROM ( SELECT ROWNUM ROWNO, B.* FR ...
- atitit. js 跨界面 页面 web cs 传值方法总结
atitit. js 跨界面 页面 web cs 传值方法总结 #--需求 js #---两个方法: 直接传跟跟间接传递... 1.直接传跟new form(param) web使用url方 ...
- Sql Server 2012 的新分页方法分析(offset and fetch) - 转载
最近在分析 Sql Server 2012 中 offset and fetch 的新特性,发现 offset and fetch 无论语法的简洁还是功能的强大,都是相当相当不错的 其中 offset ...
- phalcon几种分页方法
phalcon几种分页方法 一: use Phalcon\Paginator\Adapter\Model as PaginatorModel; // Current page to show // I ...
- 只是一个用EF写的一个简单的分页方法而已
只是一个用EF写的一个简单的分页方法而已 慢慢的写吧.比如,第一步,先把所有数据查询出来吧. //第一步. public IQueryable<UserInfo> LoadPagesFor ...
- SharePoint2013 SharePoint-Hosted 模式 分页方法
/**分页js插件 var ListPager = new listPaging(); 先调用start方法加载上下文 然后调用dataLoad方法查询第一页数据 需要设置几个属性值 ListPage ...
- C#针对DataTable进行分页方法
以下的分页方法是针对数据量不是非常大的数据进行的,是在内存中进行的分页操作. /// <summary> /// DataTable分页 /// </summary> /// ...
- SQL SERVER 分页方法
最近项目中需要在SQL SERVER中进行分页,需要编写分页查询语句.之前也写过一些关于分页查询的语句,但是性能不敢恭维.于是在业务时间,在微软社区Bing了一篇老外写的关于SQL SERVER分页的 ...
随机推荐
- luogu P2553 [AHOI2001]多项式乘法
传送门 这题就是普及暴力模拟板子FFT板子,只要把多项式读入进来FFT一下就好了(不会的右转P3803) 重点是读入,我本以为这个字符串里到处都有空格,这里提供一种简单思路: 因为里面可能有空格,所以 ...
- vi常用指令
vi filename 打开文件 i 进入编辑模式 esc 退出编辑模式 : 进入指令模式 wq 保存退出 q!不存盘强制退出vi 按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字 ...
- LOJ #2026「JLOI / SHOI2016」成绩比较
很好的锻炼推柿子能力的题目 LOJ #2026 题意 有$n$个人$ m$门学科,第$ i$门的分数为不大于$U_i$的一个正整数 定义A「打爆」B当且仅当A的每门学科的分数都不低于B的该门学科的分数 ...
- Windows下python安装运行
1. 在python官网 https://www.python.org/downloads/windows/ 选择要下载的版本,我下载了最新版本 2. 双击运行 3. naxt 4. install ...
- kotlin中“==”和“===”的区别
code 1 fun main(args: Array<String>) { val a : Int = 1000 println(a == a) //true println(a === ...
- DeepLearning.ai-Week2-Residual Networks
1 - Import Packages import numpy as np from keras import layers from keras.layers import Input, Add, ...
- xadmin插件开发
参考:http://blog.csdn.net/qq_15682489/article/details/70174784 项目中新添加的organization模块需要在toolbar中添加“课表详细 ...
- CF1105E Helping Hiasat
题目地址:CF1105E Helping Hiasat 首先将问题转化成图论:对每个人建立一个点,将同一次修改后的所有人代表的点两两连一条边,那么最终所求的就是这个图的最大独立集 我们知道最大独立集是 ...
- 【转】python3解析库lxml
转自:http://www.cnblogs.com/zhangxinqi/p/9210211.html 阅读目录 1.python库lxml的安装 2.XPath常用规则 (1)读取文本解析节点 (2 ...
- dubbo的本地存根(Stub)
dubbo的本地存根的原理是:远程服务后,客户端通常只剩下接口,而实现全在服务器端,但提供方有些时候想在客户端也执行部分逻辑,那么就在服务消费者这一端提供了一个Stub类,然后当消费者调用provid ...