实现分页查询

您所在的位置:网站首页 java中分页查询的实现 实现分页查询

实现分页查询

#实现分页查询| 来源: 网络整理| 查看: 265

实现分页查询 一、分页要素与语法二、例:博客系统文章列表页2.1 原始前端代码2.2 实现:查询分页数据验证 2.3 实现 “首页” “上一页” “下一页” “末页”前端代码添加得到总页数实现 四个点击效果验证

一、分页要素与语法

分页要素: 1)页码 (PageIndex):要查询第几页的数据; 2)每页展示最大长度的数据 (PageSize):每页显示多少条数据。

语法: 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

二、例:博客系统文章列表页 2.1 原始前端代码 DOCTYPE html> 博客列表 .nav{ position: fixed; top: 0; left: 0; right: 0; height: 50px; } .container{ padding-top: 80px; height: auto; } .container-right{ width: auto; } .blog-pagnation-wrapper{ height: 40px; margin: 16px 0; text-align: center; } .blog-pagnation-item{ display: inline-block; padding: 8px; border: 1px solid #d0d0d5; color: #333; } .blog-pagnation-item:hover{ background: #4e4eeb; color: #fff; } .blog-pagnation-item.actvie{ background: #4e4eeb; color: #fff; } 我的博客系统 主页 写博客 登陆 我的第一篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 我的第二篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 我的第二篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 我的第二篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 我的第二篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 我的第二篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 我的第二篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 我的第二篇博客 2021-06-02 从今天起, 我要认真敲代码. Lorem ipsum, dolor sit amet consectetur adipisicing elit. Cum distinctio ullam eum ut veroab laborum numquam tenetur est in dolorum a sint, assumenda adipisci similique quaerat vel. Facere, et. 查看全文 ;; 首页 上一页 下一页 末页

页面效果:

在这里插入图片描述

2.2 实现:查询分页数据 引入 jQuery 定义 pindex 和 psize var pindex = 1; // 当前的页码 (默认) var psize = 2; // 每页显示的条数信息 (默认) 定义 getURLParam(key) 方法 // 获取当前 URL 中某个参数的方法 function getURLParam(key){ var params = location.search; if(params.indexOf("?") >= 0){ params = params.substring(1); var paramArr = params.split('&'); for(var i=0;i return namevalues[1]; } } }else{ return ''; } } 初始化参数 // 初始化分页的参数,尝试从 url 中获取 pindex 和 psize function initPageParam(){ var pi = getURLParam("pindex"); if(pi!=""){ pindex=pi; } var pz = getURLParam("psize"); if(pz!=""){ psize=pz; } } initPageParam(); 查询分页数据 // 查询分页数据 function getList(){ jQuery.ajax({ url:"/art/list", type:"GET", data:{ "pindex":pindex, "psize":psize }, success:function(result){ if(result.code==200 && result.data!=null && result.data.length>0){ // 循环拼接数据到 document var finalHtml=""; for(var i=0;i if (pindex == null || psize == null) { return null; } // 分页公式,计算偏移量 int offset = (pindex - 1) * psize; return articleService.getList(psize, offset); } public List getList(Integer psize, Integer offset) { return articleMapper.getList(psize,offset); } public List getList(@Param("psize") Integer psize, @Param("offset") Integer offset); select * from articleinfo limit #{psize} offset #{offset}

注意: offset 一定要在 controller 中进行计算然后传递;不要传递 pindex 留到 sql 中计算 (会报错)!

验证

通过 http://localhost:8080/blog_list.html 访问:

在这里插入图片描述

成功获取到了目前数据库中前两个文章信息。

此时分页效果使用的是设置的默认参数:var pindex = 1,var psize = 2;

通过 URL 传参改变:http://localhost:8080/blog_list.html?pindex=2&psize=3

在这里插入图片描述

查询到了第 4、5、6 条数据。

2.3 实现 “首页” “上一页” “下一页” “末页” 前端代码添加 首页 上一页 下一页 末页 得到总页数 添加全局变量 totalpage: var pindex = 1; // 当前的页码 (默认) var psize = 2; // 每页显示的条数信息 (默认) var totalpage = 1; // 总共多少页 初始化 pindex 和 psize 参数后,通过 getTotalPage() 方法初始化 totalpage: // 查询总共有多少页的数据 function getTotalPage(){ jQuery.ajax({ url:"/art/totalpage", type:"GET", data:{ "psize":psize }, success:function(result){ if(result.code==200 && result.data!=null){ totalpage=result.data; } } }); } getTotalPage(); 后端处理请求 @RequestMapping("/totalpage") public Integer totalPage(Integer psize) { if (psize != null) { // 参数有效 int totalCount = articleService.getTotalCount(); // 计算总页数 int totalPage = (int) Math.ceil(totalCount * 1.0 / psize); return totalPage; } return null; } public Integer getTotalCount(){ return articleMapper.getTotalCount(); } public Integer getTotalCount(); select count(*) from articleinfo 实现 四个点击效果 // 首页 function firstClick(){ location.href = "blog_list.html"; } // 上一页 function beforeClick(){ if(pindex pindex = parseInt(pindex)+1; if(pindex>totalpage){ // 已经在最后一页了 alert("已经是最后一页了"); return false; } location.href = "blog_list.html?pindex="+pindex+"&psize="+psize; } // 末页 function lastClick(){ pindex = totalpage; location.href = "blog_list.html?pindex="+pindex+"&psize="+psize; } 验证

验证无误。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3