技巧:
a.确定每页显示的记录数
b.获取总记录数
c.1.确定分页后的总页数(总记录数/每页显示的记录数),有余数时,总页数加1 2.准确计算出分页后的总页数(总记录数-1)/每页显示的记录数+1)推荐使用
d.根据当前页显示数据(页数小于1时,则使其等于1,页数大于最大页数时,则使其等于最大页数)
e.通过for循环显示结果
1.SQL Servler数据库
获取分页后第二页的数据(查询不包含数据表前4条记录):
2.MySQL数据库
第一页:select * from tb_user LIMIT 0,5;
第二页:select * from tb_user LIMIT 5,5;
LIMIT第一个参数为"(页数-1)*每页显示记录数"(从0开始找5条数据)、第二个参数为"每页显示记录数"
select * from tb_user LIMIT "+(page-1)*pagesize+","+pagesize+";
3.Oracle数据库分页
第一页:select * from(select rownum r,e.* from emp e where rownum<=5) where r>1;
第二页:select * from(select rownum r,e.* from emp e where rownum<=10) where r>5;
select * from(select rownum r,e.* from(select * from emp order by time desc) e where rownum<= pageSize*page) where r>pageSize*(page-1);
select * from (select rownum r,e.* from (select * from emp order by empno desc) e where rownum<=5)
where r>0;
select * from (select 行号 r,t.* from (根据time倒排序的所有信息)t where rownum <=页的大小*第几页) where r> (页的大小* (第几页-1));
其中rownum是行号, pagesize是传入的每页的大小 就是每页多少行 page 是传入的第几页 也就是你想显示第几页.
4.Hibernate分页(setFirstResult起初值从0开始)
从索引位置3开始查找6条数据
Query query = session.createQuery("from User");
query.setFirstResult(3);
query.setMaxResult(6);
5.QBC分页
criteria.setMaxResult(6);
a.确定每页显示的记录数
b.获取总记录数
c.1.确定分页后的总页数(总记录数/每页显示的记录数),有余数时,总页数加1 2.准确计算出分页后的总页数(总记录数-1)/每页显示的记录数+1)推荐使用
d.根据当前页显示数据(页数小于1时,则使其等于1,页数大于最大页数时,则使其等于最大页数)
e.通过for循环显示结果
1.SQL Servler数据库
获取分页后第二页的数据(查询不包含数据表前4条记录):
select top 4 * from book where BookNO not in(select top 4 BookNO from book order by BookNO asc) order by BookNO asc;
pagesize:指定分页后每页显示的记录数
page:用于指定当前页数
select top "+pagesize+" * from book where BookNO not in(select top "+(page-1)*pagesize+" BookNO from book order by BookNO asc) order by BookNO asc;2.MySQL数据库
第一页:select * from tb_user LIMIT 0,5;
第二页:select * from tb_user LIMIT 5,5;
LIMIT第一个参数为"(页数-1)*每页显示记录数"(从0开始找5条数据)、第二个参数为"每页显示记录数"
select * from tb_user LIMIT "+(page-1)*pagesize+","+pagesize+";
3.Oracle数据库分页
第一页:select * from(select rownum r,e.* from emp e where rownum<=5) where r>1;
第二页:select * from(select rownum r,e.* from emp e where rownum<=10) where r>5;
select * from(select rownum r,e.* from(select * from emp order by time desc) e where rownum<= pageSize*page) where r>pageSize*(page-1);
select * from (select rownum r,e.* from (select * from emp order by empno desc) e where rownum<=5)
where r>0;
select * from (select 行号 r,t.* from (根据time倒排序的所有信息)t where rownum <=页的大小*第几页) where r> (页的大小* (第几页-1));
其中rownum是行号, pagesize是传入的每页的大小 就是每页多少行 page 是传入的第几页 也就是你想显示第几页.
4.Hibernate分页(setFirstResult起初值从0开始)
从索引位置3开始查找6条数据
Query query = session.createQuery("from User");
query.setFirstResult(3);
query.setMaxResult(6);
5.QBC分页
从索引位置3开始查找6条数据
Criteria criteria= session.createCriteria ("User.class");
criteria.setFirstResult(3);criteria.setMaxResult(6);