⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pageoracle.java

📁 适合各种数据库的分页程序
💻 JAVA
字号:
package com.ztes.commons.dbo.pagination.impl;

import com.ztes.commons.dbo.pagination.Page;
import com.ztes.commons.dbo.pagination.AbstractPage;

/**
 * Oracle数据库的分页,借助rownum实现。
 * 一个比较典型的分页sql如同:
 * <pre>
 * SELECT * FROM 
	(
		SELECT A.*, ROWNUM RN 
			FROM (SELECT * FROM TABLE_NAME) A 
			WHERE ROWNUM <= 40
	)
	WHERE RN >= 21
	其中SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。
 * </pre>
 * 
 * @author tiannet(曾次清)
 */ 
public class PageOracle extends AbstractPage implements Page {
	
	/**
	 * 返回分页sql语句。
	 * 一个比较典型的分页sql如同:
	 * <pre>
	 * SELECT * FROM 
		(
			SELECT A.*, ROWNUM RN 
				FROM (SELECT * FROM TABLE_NAME) A 
				WHERE ROWNUM <= 40
		)
		WHERE RN >= 21
		其中SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。
	 * </pre>
	 * @param start 获取记录的开始位置,从零开始计。
	 * @param size 获取记录的大小。
	 * @return 分页sql语句。
	 */
	public  String getPageSql(int start, int size) {
		StringBuffer sql = new StringBuffer();
		sql.append(" SELECT * FROM  ");
		sql.append(" ( ");
		sql.append(" 	SELECT A.*, rownum as my_rownum FROM  ");
		sql.append(" 		( " + super.getQuerySql() + "  ) A ");
		sql.append(" 	WHERE rownum <= "+ (start + size));
		sql.append(" ) ");
		sql.append(" WHERE my_rownum > " + start);
		return sql.toString();
	}//~ getPageSql
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -