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 查询所返回的结 ...
随机推荐
- hdu 4550 卡片游戏
http://acm.hdu.edu.cn/showproblem.php?pid=4550 贪心 #include <cstdio> #include <cstring> # ...
- BZOJ1511: [POI2006]OKR-Periods of Words
1511: [POI2006]OKR-Periods of Words Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 174 Solved: 92[Su ...
- jstat(JVM Statistics Monitoring Tool)
功能 用于监视虚拟机各种运行状态信息的命令行工具.它可以显示本地或远程虚拟机进程中的类装载.内存.垃圾收集.JIT编译等运行数据,在没有GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运 ...
- Merge Two Sorted Lists—LeetCode
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- 如何编写一个JSON解析器
编写一个JSON解析器实际上就是一个函数,它的输入是一个表示JSON的字符串,输出是结构化的对应到语言本身的数据结构. 和XML相比,JSON本身结构非常简单,并且仅有几种数据类型,以Java为例,对 ...
- 什么是券商PB业务
PB业务(Prime Broker,主经纪商业务).所谓PB业务就是指向对冲基金等高端机构客户提供集中托管清算.后台运营.研究支持.杠杆融资.证券拆借.资金募集等一站式综合金融服务的统称.而该业务的基 ...
- Android常用的物理按键及其触发事件
Activity和View都能接收触摸和按键,如果响应事件只需要在继承类里复写事件函数即可:当一个视图(如一个按钮)被触摸时,该对象上的 onTouchEvent() 方法会被调用.不过,为了侦听这个 ...
- Spring事务管理使用
发现问题 最近,碰到一个问题,再用spring实现事务管理的时候,发现不起作用,在出异常时,并不会回滚数据库操作. 我想实现的功能如下: @Transactional(isolation=Isolat ...
- HDFS集群balance(3)-- 架构细节
转载请注明博客地址:http://blog.csdn.net/suileisl HDFS集群balance,对应版本balance design 6 如需word版本,请QQ522173163联系索要 ...
- 《C专家编程》第一天
1.2 C语言的早期体验 1)C语言的基本数据类型直接与底层硬件相对应.C语言不存在内置的复数类型.C语言一开始不支持浮点类型,直到硬件系统能够直接支持浮点数之后才增加了对它的支持. 2)auto关键 ...