oracle中的sql分页简单上路

在我们的开发中难免与sql分页打交道,这就迫使我们就得学会如何分页,接下来我就我个人所学知识对oracle语句进行简单的剖析。

1,首先,我们查询所有的数据


2,用oracle中的rownum查询出所有的结果集,由于rownum并没有大于或等于,只有小于或等于号,所有现在所做的就是获取行号,由行号加结果集取中间值

select *from emp where rownum<=10;


3,通过别名,加rownum查询出所有数据加行号,


4,拿到了行号就简单多了,吧查询所有的sql数据在吧他放到select *from 的后面去,并取一个别名t


5,实现分页


现在在数据库中进行了完美的分页。

注:rownum<=10;就是指最后的索引;t.r>5指首记录索引。

这就可以引发一些公式:firstIndex指首记录索引,pageno指当前页号,pagesize指当前页面大小。lastindex,当前页面最后的索引值

firstIndex=(pageno-1)*pagesize+1;

lastindex=firstindex+pagesize-1;

在java代码块中我们就可以这样写

package com.shandian.bean;

import java.util.List;

public class Page<T> {
	// 首索引;
	private int firstIndex;
	private int lastIndex;
	private int pageno = 1;// 当前页号;
	private int pagesize = 5;// 页面大小;
	private int count;// 总记录数
	private int pagecount;// 页面大小
	private List<T> list;

	public List<T> getList() {
		return list;
	}

	public void setList(List<T> list) {
		this.list = list;
	}

	public int getFirstIndex() {
		return firstIndex = (this.getPageno() - 1) * this.getPagesize() + 1;
	}

	public int getPageno() {
		return pageno;
	}

	public void setPageno(int pageno) {
		this.pageno = pageno;
	}

	public int getPagesize() {
		return pagesize;
	}

	public void setPagesize(int pagesize) {
		this.pagesize = pagesize;
	}

	public int getCount() {
		return count;
	}

	public void setCount(int count) {
		this.count = count;
	}

	public int getPagecount() {
		return pagecount = (this.getCount() - 1) / this.getPagesize() + 1;
	}

	public int getLastIndex() {
		return lastIndex = getFirstIndex() + this.getPagesize() - 1;
	}

}
 这就是分页的简单实用,后期我会发一个mybatis+springmvc+ajax+分页的项目,大家到时可以下载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值