oracle 界面分页
2013-08-01 19:26
134 查看
/** * */ 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分页查询SQL语法
- Oracle分页(3)-分析函数(分组)
- 有关oracle分页的rownum字段
- Oracle分页查询格式
- 一个奇葩的oracle分页问题,已经知道解决办法,但是不晓得产生问题的原音~
- oracle安装界面中文乱码解决
- oracle 使用rownum进行分页
- 使用Oracle 10g中的等待界面诊断性能问题(查询会话等待,查询慢的现象)
- Oracle分页查询排序数据重复问题
- sql 分页(oracle)
- Oracle、SQL server、MySQL数据库中分页查询的SQL语句
- ORACLE分页查询SQL语法
- ORACLE分页查询SQL语法——最高效的分页
- oracle与mysql分页
- ORACLE 的分页查询
- oracle分页查询原理
- Oracle 使用ROWNUM分页时的排序问题
- Oracle sqlserver MySQL三种数据库查询分页语句