分页的实现(普通分页,不使用插件)
首先我们应该知道分页实际上就是把很多条数据不全显示到页面上,而分段的来显示。
分析思路
平常我们在MySQL中想要查询数据是这样写:
select*from tb_goods g,tb_type t where t.id=g.typeid;
这样子就可以把全部数据显示出来,想要实现分页就必须用到的一个词limit(分页高级名字:物理分页),那么接下就可以这样写SQL语句了:
select*from tb_goods g,tb_type t where t.id=g.typeid limit num,nums;
num:从第几条数据开始。
nums:一共显示几条数据。
已知每页要显示nums=5 条数据,已知要查询第page=1 页的数据 num=nums*(page-1)
第1页:limit 0,5; 0=nums(page-1)
第2页:limit 5,5; 5=nums(page-1)
第3页:limit 10,5; 10=nums*(page-1)
看到现在是不是感觉有点思路了,那么已知一共有count=24条数据,每页显示nums=5条,请问总共应该有多少个页面?
- count<nums 总页数=1
- count%nums==0, 总页数=count/nums
- count%nums!=0, 总页数=count/nums+1
查询一共有几条数据可以这样写:
select count(*) from tb_goods g,tb_type t where t.id=g.typeid
具体实现代码:
1.servlet代码
2.DataUtil代码
3.mapper代码
4.jsp页面