/**
*
*/
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 界面分页的更多相关文章

  1. 对于Oracle中分页排序查询语句执行效率的比较分析

    转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...

  2. Oracle中分页查询语句

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.O ...

  3. Oracle的分页查询语句优化

    Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. (一)   分页查询格式: SELECT * FROM  ( SELECT A.*, ROWNUM RN  FROM (SELECT ...

  4. oracle sql 分页

    Oracle实现分页时,需要引入一个rownum的函数,rownum可以给记录一个类似于id的字段. 以下收整理了常用的几种sql分页算法,数据库以Oracle中emp为例.查询结果如下: SQL&g ...

  5. oracle高效分页查询总结

    本文参考链接:http://blog.sina.com.cn/s/blog_8604ca230100vro9.html 探索查询语句: --分页参数:size = 20 page = 2 --没有or ...

  6. Oracle rownum 分页, 排序

    Oracle rownum 分页, 排序 什么是rownum, rownum的生成, rownum相关的符号操作 Rownum是oracle生成结果集时得到的一个伪列, 按照读出行的顺序, 第一条ro ...

  7. Oracle高效分页查询(转)

    page --没有order by的查询 -- 嵌套子查询,两次筛选(推荐使用) --SELECT * -- FROM (SELECT ROWNUM AS rowno, t.* -- FROM DON ...

  8. Oracle 的分页查询 SQL 语句

    Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. 分页查询格式: SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM T ...

  9. Oracle通用分页存储过程的创建与使用

    Oracle通用分页存储过程的创建与使用 1.创建Oracle包的定义.使用 REF CURSOR 数据类型来处理 Oracle 结果集.REF CURSOR 是一个指向 PL/SQL 查询所返回的结 ...

随机推荐

  1. IIS 内部运行机制及Asp.Net执行过程详解

    一直以来对一个Asp.net页面穿过IIS后就返回给浏览器一个HTML页面感觉很是神奇.虽然做技术这么长时间了,也曾经大致了解过一点来龙去脉,但是如果你真的问起我比较详细的过程,我还真的回答不上来,好 ...

  2. ChatCell

    import UIKit let chatCellHeight: CGFloat = 72 let chatCellInsetLeft =  chatCellHeight + 8 class Chat ...

  3. JAVA简单的UI设计

    手写代码,还是痛苦点,但对布局有再深入的流程理解, 全IDE会更快速.. package SwingGui.sky.com; import javax.swing.*; import java.awt ...

  4. Foundation Data Structure

    LinkedList : /** * 考虑的比较的周全,并且包含了全部的情况,代码也不乱<b></b> * * @param index * 插入的位置 * @param c ...

  5. Mysql 的字符编码机制、中文乱码问题及解决方案【转载】

    本文转载自:http://hi.baidu.com/huabinyin/item/7f51e462df565c97c4d24929.感谢作者及相关博主.        相信很多朋友都会对字符编码敬而远 ...

  6. python_Opencv_绘图

    opencv中也可以用一些函数来绘图 直接上源码,例子: # -*- coding: utf-8 -*- import numpy as np import cv2 # 黑色的图片 img=np.ze ...

  7. Android 开发经验

    学习社区 eoe移动开发者社区 (link) 链接:http://www.eoeandroid.com/ 环境配置 Cocos2d-x 3.x 全平台新手开发配置教程 链接:http://www.co ...

  8. 利用PyQt4写的小工具软件

    应公司文职工作人员需求,写一个车间人员工作时间的统计软件,输入开始工作时间1,再输入结束工作时间2,计算两个时间的差值. 根据需求,初步构想的UI界面如下: 下面开始干活. 分析后觉得利用PyQt4来 ...

  9. swift - if let Optional 语法

    var optionalString: String? = "facial"; var greeting = "hi"; if let name = optio ...

  10. 杭电 2047 阿牛的EOF牛肉串 (递推)

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...