博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
页面分页
阅读量:5127 次
发布时间:2019-06-13

本文共 1714 字,大约阅读时间需要 5 分钟。

需求:当数据很多,一个页面难以展现时,便需要分页来实现。

说在前面:

1.每一页展示的数据可以从数据库中抽取出来,数据查询方法中有limit这个方法,limit x,y —–>x表示从第几条数据开始查询,y表示查询多少条数据;
2.数据库数据序号从0开始;
3.Eg:select * from user limit 2,5; 表示从数据库第三条数据开始查询,查询5条数据,既查询到7;


下面具体代码实现,对于web页面的上下页用js控制,核心在于js的控制,对于其他的数据库连接和web页面处理我用的是Mybaties和springMVC框架

要实现的web页面

这里写图片描述

代码:

                ${PageNum}/共${num}        跳转到

这里写图片描述

JS实现 :int类型数字必须用parseInt()方法转换下,js是弱语言,数字不处理会默认字符串拼接

//上一页function lastPage() {
var num = parseInt(document.getElementById("num").innerHTML); //当前页数 if (num > 1) { //判断是否页数超出最小范围 var y = num - parseInt(1); //页数-1 location = 'showPage?PageId=' + y; //定位到上一页 } else { alert("已经是第1页了..."); }}//下一页function nextPage() {
var lastNum=parseInt(document.getElementById("lastNum").innerHTML);//总页数 var num = parseInt(document.getElementById("num").innerHTML); //当前页数 if(num

数据库查询语句

我的用的是myBaties框架,其他实现的认真看看语句是相同的
这里写图片描述
上面查询数据总数目,用于处理跳转最后一页操作

service层处理每次查询的页面关系,我们每次翻页变化的是页面,而sql查询数据是具体数据序号,所以页数和数据序号存在一个转换关系(数据库数据序号从0开始),id=(x-1)*y; id是数据查询起始数目,x是页数,y是你需要每页展示数据的数目。

public List
findAllByPage(int id) { SqlSession s = MyBatiesUtils.getSqlSession(); int n=(id-1)*3; //控制每次查询起始数据的序数,每页显示3条数据 List
list = s.selectList(namespace + ".findAllByPage",n); s.close(); return list; }

求取总页数,使用总数据条数除以每页显示条数,这里可以使用Math类的向上取整ceil()方法

public int findNum() {        SqlSession s = MyBatiesUtils.getSqlSession();        int n=s.selectOne(namespace+".findNum");        int pageNum=(int) Math.ceil(n*1.0/3); //数据总数除以每页显示数目,结果向上取整        s.close();        return pageNum;    }

实现图

这里写图片描述


原代码

转载于:https://www.cnblogs.com/wangqilong/p/9417518.html

你可能感兴趣的文章
background-clip,background-origin
查看>>
Android 高级UI设计笔记12:ImageSwitcher图片切换器
查看>>
【Linux】ping命令详解
查看>>
对团队成员公开感谢博客
查看>>
java学习第三天
查看>>
python目录
查看>>
django+uwsgi+nginx+sqlite3部署+screen
查看>>
Andriod小型管理系统(Activity,SQLite库操作,ListView操作)(源代码下载)
查看>>
在Server上得到数据组装成HTML后导出到Excel。两种方法。
查看>>
浅谈项目需求变更管理
查看>>
经典算法系列一-快速排序
查看>>
设置java web工程中默认访问首页的几种方式
查看>>
ASP.NET MVC 拓展ViewResult实现word文档下载
查看>>
8、RDD持久化
查看>>
第二次团队冲刺--2
查看>>
VMware Tools安装
查看>>
Linux上架设boost的安装及配置过程
查看>>
[转载]加密算法库Crypto——nodejs中间件系列
查看>>
zoj 2286 Sum of Divisors
查看>>
使用Xshell密钥认证机制远程登录Linux
查看>>