web分页实现的三种方式

目录

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

二、后端用代码实现分页

三、数据库用sql语句实现


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

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

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

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

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

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

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

二、后端用代码实现分页

写一个分页的方法,如:

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;

}

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

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

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

三、数据库用sql语句实现

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

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

 

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

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

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

-----------------------------------------------------------------------------

欢迎转载,声明原处即可

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Web 实现分页查询通常需要以下步骤: 1. 在数据库中查询总记录数。 2. 根据当前页码和每页显示的记录数计算出需要查询的记录的起始位置。 3. 在数据库中查询需要显示的记录。 4. 将查询结果封装成一个 JavaBean 或者 List 的形式,传递给前端页面。 5. 在前端页面上显示查询结果,并且生成分页导航栏。 以下是一个简单的分页查询实现的代码示例: ``` // 获取当前页码和每页显示的记录数 int currentPage = Integer.parseInt(request.getParameter("currentPage")); int pageSize = Integer.parseInt(request.getParameter("pageSize")); // 在数据库中查询总记录数 int totalCount = dao.getTotalCount(); // 计算需要查询的记录的起始位置 int start = (currentPage - 1) * pageSize; // 在数据库中查询需要显示的记录 List<User> userList = dao.getUserList(start, pageSize); // 将查询结果封装成一个 JavaBean 或者 List 的形式,传递给前端页面 request.setAttribute("userList", userList); // 在前端页面上显示查询结果,并且生成分页导航栏 int totalPage = (totalCount + pageSize - 1) / pageSize; String pageNav = PageUtils.getPageNav(currentPage, totalPage); request.setAttribute("pageNav", pageNav); ``` 其中,`dao` 是数据访问对象,`User` 是一个 JavaBean 类,`PageUtils` 是一个工具类,用来生成分页导航栏。在 `dao` 中,`getTotalCount` 方法用来获取总记录数,`getUserList` 方法用来获取需要显示的记录。在前端页面上,通过 `userList` 和 `pageNav` 来显示查询结果和分页导航栏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值