MySQL分页sql语句
要实现分页要严格依赖SQL语句:
前提:知道 那一页的数据从 何处开始 从 何处结束
使用sql关键字 limit n,x;
*(第n行开始 取 x条数据)*
第n页 开始行号 结束行号
1 0 9
2 10 19
3 20 29
.............................
n (n-1)*10 n*10-1
转化为sql语句为:
select * from user limit 0,10;
select * from user limit 10,10;
select * from user limit 20,10;
.................................
select * from user limit (n-1)*10,10;
即: select * from user limit <页数*页面大小(每页行数)>,<页面大小(每页行数)>;
在dao及servle中使用:
需要数据:<顺序>
1.数据总量 <查询数据库得知,select count(*)...;用rs保存>
2.页面大小(每页行数) <自定义>
3.总页数 <程序计算>
总页数= 100/20=数据总数/页面大小=5页
总页数= 103/20=数据总数/页面大小=5.6-->5+1页
总页数=数据总数%页面大小==0? 数据总数/页面大小:数据总数/页面大小+1
判断是否除尽根据是否除尽,执行不同操作
4.当前页码 <自定义>
由jsp页面传入
5.当前页所显示的数据对象集合(实体类集合) <查询得知>