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 查询所返回的结 ...
随机推荐
- 用C#实现网络爬虫(一)
网络爬虫在信息检索与处理中有很大的作用,是收集网络信息的重要工具. 接下来就介绍一下爬虫的简单实现. 爬虫的工作流程如下 爬虫自指定的URL地址开始下载网络资源,直到该地址和所有子地址的指定资源都下载 ...
- 理解java中的ThreadLocal(转)
一.对ThreadLocal概述 JDK API 写道: 该类提供了线程局部 (thread-local) 变量.这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的 ...
- 第一个Windows程序讲解
上次,我们一起写了第一个Windows程序,虽然程序非常简单,但是它却可以帮助大家建立学好windows开发的信心. 今天,就让我帮助大家分析一下这个程序的内容.首先,我们的程序包含了一个头文件:wi ...
- 夏梦竹谈Hive vs. HBase的区别
对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用. Hive是什么? Apache Hive是 ...
- GCC依赖库顺序问题
今天在把linux下做的ipmsg移植到windows过程中,因为包含了一个开源库SimpleSocket,而这个库又引用了winsock2,没太注意就写下了下面的makefile: g++ -o t ...
- http://blog.163.com/db_teacher/blog/static/194540298201110723712407/
实验(七).第五章 数据库完整性 2011-11-07 14:37:12| 分类: 默认分类 | 标签: |字号大中小 订阅 一.实验目的 1.熟悉通过SQL语句对数据进行完整性控制 2. ...
- linux 虚拟机下配置tomcat
1.在wind系统下载tomcat,tomcat8版本的需要jdk1.8以上的才支持. 下载位置:http://tomcat.apache.org/download-80.cgi -> core ...
- iOS--导航栏样式
push返回按钮样式: UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBar ...
- Kernel 4.9的BBR拥塞控制算法。
重要的事情说三遍! BBR并不能突破带宽限制!!! BBR并不能突破带宽限制!!! BBR并不能突破带宽限制!!! 它的功能如下: 1.在高丢包率与低速率的网络中提升传输效果,充分利用带宽. 2.降低 ...
- javascript对链接进行动态处理化
// $(function(){// var aLink=$('.nav-content .nav li a'); // 选中所有a// var aText=['在线搭配','星网学院','推客联盟' ...