`
eagle0824
  • 浏览: 230358 次
  • 性别: Icon_minigender_1
  • 来自: 镇江
社区版块
存档分类
最新评论

Oracle 分页查询实例

    博客分类:
  • JDBC
阅读更多
/**
* 返回分页相关信息
* @param list 每页显示的记录
* @param pageNo 当前的页数
* @return PageModel
*/

public PageModel<User> findUserList(int pageNo,int pageSize){

PageModel<User> pageModel = null;
String sql = "select count(*) from t_user where user_id <>'root'";
StringBuffer bufSql = new StringBuffer();
bufSql.append("select user_id,user_name,password,telephone,email,creat_date ");
bufSql.append("from ");
bufSql.append("( ");
bufSql.append("select rownum rn,user_id,user_name,password,telephone,email,creat_date ");
bufSql.append("from ");
bufSql.append("( ");
bufSql.append("select rownum rn,user_id,user_name,password,telephone,email,creat_date from t_user where user_id <> 'root' order by user_id ");
bufSql.append(") ");
bufSql.append("where rn <= ? ");
bufSql.append(") ");
bufSql.append(" where rn > ? ");

Connection conn = null;
PreparedStatement pstmt = null;
Statement stmt = null;
ResultSet rs = null;
int totalRecords =0;
int totalPage  = 0;
try {
conn = DbUtil.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
rs.next();
totalRecords = rs.getInt(1);

pstmt = conn.prepareStatement(bufSql.toString());
pstmt.setInt(1, pageNo*pageSize);
pstmt.setInt(2, (pageNo-1)*pageSize);
rs = pstmt.executeQuery();
List<User> userList = new ArrayList<User>();

while(rs.next()){
User user = new User();
user.setUserId(rs.getString(1));
user.setUserName(rs.getString(2));
user.setPassword(rs.getString(3));
user.setContackTel(rs.getString(4));
user.setEmail(rs.getString(5));
user.setCreateDate(rs.getTimestamp("creat_date"));
userList.add(user);
}
pageModel = new PageModel<User>();
pageModel.setList(userList);
pageModel.setPageNo(pageNo);
pageModel.setPageSize(pageSize);
pageModel.setTotalPage((totalRecords+pageSize-1)/pageSize);
} catch (SQLException e) {
e.printStackTrace();
}finally{
DbUtil.close(rs);
DbUtil.close(pstmt);
DbUtil.close(conn);
DbUtil.close(stmt);
}

return pageModel;
}
分享到:
评论

相关推荐

    Oracle的分页查询语句 Oracle分页的存储过程

    Oracle数据库在处理大数据量查询时,分页查询是一种常见的优化策略,目的是限制返回结果集的大小,加快查询速度,提供更好的用户体验。本文将详细探讨Oracle的分页查询语句及其存储过程。 首先,Oracle的分页查询...

    oracle分页查询

    首先,我们要理解Oracle分页查询的基本概念。分页查询允许我们按照指定的页码和每页大小来获取数据,这样用户可以逐步浏览数据,而不是一次性看到所有内容。在Oracle中,这通常涉及到对数据进行排序和分配行号。 ...

    java web与Oracle数据的分页功能

    2. **构造SQL查询语句**:Oracle数据库支持使用`ROWNUM`进行分页查询。基本的SQL模板为: ```sql SELECT * FROM (SELECT t.*, ROWNUM rnum FROM (YOUR_SELECT_QUERY) t WHERE ROWNUM ) WHERE rnum &gt;= :startRow `...

    Oracle 分页实例 带分页控件用法

    在这个Oracle分页实例中,我们将探讨如何结合分页控件实现数据的分页显示。 首先,我们看到一个名为`webdiyer:AspNetPager`的控件,这是一个ASP.NET的Web分页控件。这个控件包含了几个关键属性: 1. `PageSize`:...

    oracle 分页类文件

    此外,还可能包含执行分页查询的逻辑,比如根据传入的参数构造SQL,调用数据库查询,然后将结果集转化为`ShowPage`对象实例。此类的设计应考虑灵活性和可扩展性,方便与其他业务逻辑进行集成。 再者,`ShowSQL.java...

    oracle分页查询sql

    ### Oracle 分页查询 SQL 在 Oracle 数据库管理中,实现数据的有效分页是非常重要的功能之一。这不仅可以提高数据处理效率,还可以改善用户界面的响应速度。分页查询是指从数据库中检索特定范围内的记录,通常用于...

    Oracle分页查询的实例详解

    以下是对Oracle分页查询的实例详解: 1. **Oracle分页查询基础** Oracle分页查询通常涉及ROWNUM伪列的使用。ROWNUM在查询执行过程中为每一行分配一个唯一的数字,从1开始递增。在以下两个示例中,我们可以看到两种...

    Oracle 分页的存储过程

    总结来说,Oracle分页存储过程是通过动态构造SQL语句,结合输入的分页参数,计算出总页数,并返回指定页的数据。这种方式在处理大量数据时提高了效率,同时也提供了灵活的查询控制。通过包装这些逻辑在存储过程中,...

    oracle分页程序的实现

    Oracle数据库在处理大量数据时,为了提高查询效率和用户体验,常常需要使用分页查询。分页不仅能够有效地减少网络传输的数据量,还能让用户逐步浏览数据,提高网页加载速度。以下将详细介绍Oracle数据库中实现分页...

    一个关于基于ssm,mysql(也含oracle方式)实现的分页查询.rar

    总的来说,这个资源包提供了一个SSM环境下,结合MySQL和Oracle数据库进行分页查询的实例,对于初学者理解SSM框架与数据库的交互,以及掌握分页查询的实现方法,是非常有价值的参考资料。在实际项目中,合理利用分页...

    kettle oracle循环分页迁移数据的完整例子,生成txt后FTP上传到远程服务器

    综合上述,这个例子展示了如何使用Kettle工具从Oracle数据库中进行循环分页查询,将数据转化为TXT格式,然后通过FTP上传到远程服务器的整个流程,涉及数据的抽取、转换和加载,以及作业的管理和文件的处理。...

    Oracle的分页查询详解及效率.doc

    本文将深入探讨Oracle分页查询的两种常见方法,并分析它们的效率差异。 首先,基本的分页查询格式如下: ```sql SELECT * FROM ( SELECT A.*, ROWNUM RN FROM ( SELECT * FROM TABLE_NAME ) A WHERE ROWNUM ) ...

    Oracle 3种分页SQL方法比较

    本文将详细探讨三种常用的Oracle分页SQL方法:ROWNUM、ROWNUM结合子查询以及新引入的Oracle 12c的FETCH NEXT WITH OFFSET语法。这三种方法各有优缺点,适用于不同的场景。 1. ROWNUM方法: ROWNUM是Oracle中最基础...

    Oracle 10g数据库海量数据分页查询优化.pdf

    Oracle 10g 数据库海量数据分页查询优化 本文主要介绍 Oracle 10g 数据库中的一种优化的海量数据分页查询解决方案。该方案通过分析传统分页查询技术的不足,融合了多种技术,包括数据库优化策略、SQL 语句优化、...

    jsp分页 oracle 插件demo

    总之,"jsp分页 oracle 插件demo"为开发者提供了一个快速理解和实践JSP与Oracle数据库分页的实例。通过这个例子,你可以学习到如何结合Java、JSP和Oracle数据库来高效地处理大数据量的展示问题,提升网页应用的性能...

    mysql、sqlserver、oracle分页,java分页统一接口实现

    本文将对 MySQL、SQL Server、Oracle 分页的实现进行详细的介绍,并提供一个 Java 分页统一接口的实现例子。 一、MySQL 分页 MySQL 分页使用 limit 语句来实现,limit 语句可以指定数据的起始行和行数。例如,以下...

    jsp + oracle分页简单实用

    本文档展示了一个完整的基于JSP和Oracle数据库的数据分页显示实例。该方法不仅适用于教学目的,而且可以作为实际项目中的参考案例。通过理解上述代码的逻辑和结构,开发者可以轻松地将其应用到自己的项目中,实现...

    简单实例解释Oracle分页查询

    什么是分页查询 分页查询就是把query到的结果集按页显示。比如一个结果集有1W行,每页按100条数据库。而你获取了第2页的结果集。 为什么要分页查询 如果一个结果集有几十W行,那么在一个页面上显示肯定显示不完。...

Global site tag (gtag.js) - Google Analytics