oracle 界面分页
/**
*
*/
package org.pan.util; import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import org.pan.contents.Contents;
import org.pan.db.DBConnectionManager;
import org.pan.io.ResUserIO;
/**
* @author admin
*
*/
public class PagerTools
{
/**
*
* @param currentPageNumber
* @return
* @throws Exception
*/
public static List<ResUserIO> getResultSetByPageNumber(Integer currentPageNumber) throws Exception
{
DBConnectionManager dbMan = new DBConnectionManager();
ResultSet fenyeData =null;
Statement stmt = null;
Integer totleDataNumber = null;
List<ResUserIO> resInfoList = null;
try
{
stmt = dbMan.getStatement(); totleDataNumber = getAllDataNumber(stmt);
String pageNumbers = ConfigTools.getInstance().getConfigByConfigName("PAGENUMBERS");
Integer pageNumber = Integer.valueOf(pageNumbers); if(Contents.NO_DATA_IN_DATEBASE.equals(totleDataNumber))
{
return null;
} boolean isFullPage = totleDataNumber>=currentPageNumber*pageNumber ? true:false; if(isFullPage)
{
Integer upLimit = (currentPageNumber-1)*pageNumber+1;
Integer downLimit = currentPageNumber*pageNumber;
String querySql = new StringBuffer().append("select username,phonumber,address from(select rownum r ,t1.username,t1.phonumber,address from tc_re_user t1 where rownum <= ").append(downLimit).append(")t2 where t2.r>=").append(upLimit).toString();
fenyeData = stmt.executeQuery(querySql);
}
else
{
Integer upLimit = (currentPageNumber-1)*pageNumber;
String querySql = new StringBuffer().append("select username,phonumber,address from(select rownum r ,t1.username,t1.phonumber,address from tc_re_user t1 where rownum <= ").append(totleDataNumber).append(")t2 where t2.r>").append(upLimit).toString();
fenyeData = stmt.executeQuery(querySql);
} if(null != fenyeData)
{
resInfoList = new ArrayList<ResUserIO>();
ResUserIO resInfo = null;
while(fenyeData.next())
{
resInfo = new ResUserIO();
resInfo.setUserName(fenyeData.getString("username"));
resInfo.setPhoNumber(fenyeData.getString("phonumber"));
resInfo.setAddress(fenyeData.getString("address"));
resInfoList.add(resInfo);
}
}
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
stmt.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
return resInfoList;
} public static Integer getTotlePage(Integer dateNumbers ,Integer eachPageNumber)
{
return dateNumbers%eachPageNumber==0 ? dateNumbers/eachPageNumber : dateNumbers/eachPageNumber+1;
} public static Integer getAllDataNumber(Statement stmt) throws SQLException
{
ResultSet resultSet = stmt.executeQuery("select count(*) from tc_re_user");
Integer totleDataNumber = 0;
if(null != resultSet)
{
while(resultSet.next())
{
totleDataNumber = resultSet.getInt(1);
}
}
return totleDataNumber;
}
}
oracle 界面分页的更多相关文章
- 对于Oracle中分页排序查询语句执行效率的比较分析
转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...
- Oracle中分页查询语句
Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.O ...
- Oracle的分页查询语句优化
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. (一) 分页查询格式: SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT ...
- oracle sql 分页
Oracle实现分页时,需要引入一个rownum的函数,rownum可以给记录一个类似于id的字段. 以下收整理了常用的几种sql分页算法,数据库以Oracle中emp为例.查询结果如下: SQL&g ...
- oracle高效分页查询总结
本文参考链接:http://blog.sina.com.cn/s/blog_8604ca230100vro9.html 探索查询语句: --分页参数:size = 20 page = 2 --没有or ...
- Oracle rownum 分页, 排序
Oracle rownum 分页, 排序 什么是rownum, rownum的生成, rownum相关的符号操作 Rownum是oracle生成结果集时得到的一个伪列, 按照读出行的顺序, 第一条ro ...
- Oracle高效分页查询(转)
page --没有order by的查询 -- 嵌套子查询,两次筛选(推荐使用) --SELECT * -- FROM (SELECT ROWNUM AS rowno, t.* -- FROM DON ...
- Oracle 的分页查询 SQL 语句
Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. 分页查询格式: SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM T ...
- Oracle通用分页存储过程的创建与使用
Oracle通用分页存储过程的创建与使用 1.创建Oracle包的定义.使用 REF CURSOR 数据类型来处理 Oracle 结果集.REF CURSOR 是一个指向 PL/SQL 查询所返回的结 ...
随机推荐
- es watcher
https://www.elastic.co/products/watcher https://www.elastic.co/blog/watcher-beta-goes-public-you-kno ...
- RUBY,玩玩~~~
我觉得吧,这东瀛的红宝石,也得玩玩,毕竟,RUBY ON RAILS,PUPPET等也是一股力量. 作为混IT圈的,知道总没坏处. 就是感觉和C,C++,JAVA,C#,PHP,甚至PYTHON的感觉 ...
- 如何修正Feedly文章中文標題亂碼或無法正常顯示的問題
在7月1日Google關閉Reader之前,我想應該有許多人都已經從Google Reader移到其他服務上了,其中受益最大的者莫過於Feedly了,一下子就吸收了幾百萬的用戶,而我也是其中之一,由於 ...
- 【HDOJ】1208 Pascal's Travels
记忆化搜索.注意当除右下角0外,其余搜索到0则返回. #include <algorithm> #include <cstdio> #include <cstring&g ...
- dnat,snat
Iptables实现NAT是最基本的功能,大部分家用路由都是基于其SNAT方式上网,使用Iptables实现外网DNAT也很简单,不过经常会出现不能正常NAT的现象. 以下命令将客户端访问1.,很多人 ...
- 【二分】XMU 1587 中位数
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1587 题目大意: 求两个长度为n(n<=109)的有序序列合并后的中位数.序列中 ...
- java容器类总结
1.java容器分类图 说明:左图为简化图(其中粗线部分是重点的容器),右图为完整容器分类图 2.容器类接口和抽象容器类 2.1 说明 容器接口是容器 ...
- js接收后台时间数据变成秒处理为正常格式
在做项目时,后台数据json传到前台ajax,数据中包含DateTime格式的数据,前台js操作时间数据的时候却发现日期变成了秒格式 js能对日期操作的那些方法均不能使用了,例如getDay()等等, ...
- RMQ——窗口题解
题目:窗口 描述: [问题描述] 给你一个长度为N的数组,一个长为K的滑动的窗体从最左移至最右端,你只能见到窗口的K个数,每次窗体向右移动一位,如下表: Window position Min val ...
- 10个提升iOS开发效率的必用工具
Xcode插件 几乎所有开发者都知道Alcatraz是一个开源的包管理工具,可以让我们更轻松地管理各种插件.接下来就介绍下我的最推荐的10个插件: 10.HOStringSense 在编辑字符串的时候 ...