`
liuzm
  • 浏览: 98399 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

采用JDBC进行数据库分页查询( ResultSet.TYPE_SCROLL_INSENSITIV

    博客分类:
  • JAVA
阅读更多
以下是采用JDBC进行数据库分页查询例子
其实也是结合的说明下
//       ResultSet.TYPE_SCROLL_INSENSITIVE:可滚动。但是不受其他用户对数据库更改的影响。
//       ResultSet.TYPE_SCROLL_SENSITIVE:可滚动。当其他用户更改数据库时这个记录也会改变。
这二个属性的应用,希望也启到一点作用
代码都有说明,可以参考下
/**
  * 一次只从数据库中查询最大maxCount条记录
  * @param sql 传入的sql语句
  * @param startNo 从哪一条记录开始
  * @param maxCount 总共取多少条记录
  */
public void getData(String sql,int startNo,int maxCount){
  Connection conn = ConnectionUtil.getConnection();
  try {
//   conn.prepareStatement(sql,游标类型,能否更新记录);
//      游标类型:
//       ResultSet.TYPE_FORWORD_ONLY:只进游标
//       ResultSet.TYPE_SCROLL_INSENSITIVE:可滚动。但是不受其他用户对数据库更改的影响。
//       ResultSet.TYPE_SCROLL_SENSITIVE:可滚动。当其他用户更改数据库时这个记录也会改变。
//      能否更新记录:
//       ResultSet.CONCUR_READ_ONLY,只读
//       ResultSet.CONCUR_UPDATABLE,可更新
   PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   //最大查询到第几条记录
   pstat.setMaxRows(startNo+maxCount-1);
   ResultSet rs = pstat.executeQuery();
   //将游标移动到第一条记录
   rs.first();
//   游标移动到要输出的第一条记录
   rs.relative(startNo-2);
   while(rs.next())
    System.out.println(rs.getInt(1));
  } catch (SQLException e) {
   e.printStackTrace();
  }
}

/**
  * 从数据库中查询所有记录,然后通过游标来获取所需maxCount条记录
  * @param sql 传入的sql语句
  * @param startNo 从哪一条记录开始
  * @param maxCount 总共取多少条记录
  */
public void getDataFromAll(String sql,int startNo,int maxCount){
  Connection conn = ConnectionUtil.getConnection();
  try {
   PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
   ResultSet rs = pstat.executeQuery();
   rs.first();
   rs.relative(startNo-1);
   int i = startNo-1;
   while(i < startNo + maxCount-1 && !rs.isAfterLast()){
    System.out.println(rs.getInt(1));
    i++;
    rs.next();
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }
}

本篇文章来源于 :刘志猛博客 原文链接:http://www.liuzm.com/article/java/9630.htm
博客:http://www.liuzm.com
分享到:
评论

相关推荐

    采用JDBC进行数据库分页查询

    一次只从数据库中查询最大maxCount条记录 ... PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //最大查询到第几条记录.........

    ojdbc14.jar 工具包

    java语句如下private String url = "jdbc:odbc...stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);} catch (Exception e) {System.err.print("Error" + e.getMessage());}

    JDBC详解HTML-JDBC.pp

    1、JDBC(Java Database Connection):java连接数据库统一接口API,底层主要... PreparedStatemet ps = cn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); rs.absolute(9000);

    java通讯录系统代码

    st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); //返回结果集 rs=st.executeQuery("select * from address"); ResultSetMetaData rm=rs.getMetaData();

    JSP通过JDBC访问数据库

    state=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //创建访问数据库的对象 results=state.executeQuery(query); //查询并返回结果 } catch(SQLException e) ...

    4. 尚硅谷_佟刚_JDBC_通过 ResultSet 执行查询操作.wmv

    JavaJDBC的视频,通过ResultSet执行查询操作,视频详细描述了如何使用ResultSet执行查询的案例。

    jsp连接数据库大全

    Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from test"; ResultSet rs=stmt.executeQuery(sql); while(rs.next()) {%&gt; 您的第一...

    jsp 留言板

    stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); } catch(SQLException e) { e.printStackTrace(); } return rs; } /...

    商品买卖 jsp版 jsp版 商品买卖 jsp版

    stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); } catch(SQLException e) { e.printStackTrace(); } return rs; } /...

    jsp连接数据库代码

     Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);  String sql="select * from test";  ResultSet rs=stmt.executeQuery(sql);  while(rs.next()) {%&gt; ...

    JdbcSql.rar_java resultset_jtable

    在JTable中动态显示ResultSet对象 需要设置好数据源~

    JDBC基础教程之ResultSet对象.doc )

    JDBC基础教程之ResultSet对象.doc )

    java读取DBF解决方案(可以解决javadbf.jar对DBF部分中文乱码和错行等杂症)

    因为需要用ODBC所以需要是windows... stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); } catch (Exception e) { System.err.print("Error" + e.getMessage()); }  

    jdbc.rar_jdbc jpa_jpa jdbc _statement

    把JDBC应用改成JPA程序,需要把原来通过JDBC API访问数据库的代码替换成使用JPA代码。 JDBC访问数据库的主要工作包括: &#61550 得到JDBC驱动程序; &#61550 使用DriverManager,Connection,Statement,ResultSet等...

    java数据库连接ResultSet

    java数据库连接ResultSet

    数据库工具类DatabaseUtil.java

    .createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); this.getResourcesList().add(statement); return statement; } catch (Exception ex) { System.out.println("Error in ...

    hibernate.properties

    ## the Transaction API abstracts application code from the underlying JTA or JDBC transactions #hibernate.transaction.factory_class org.hibernate.transaction.JTATransactionFactory #hibernate....

    JSP分页查询实例代码.doc

    sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, java.sql.ResultSet.CONCUR_READ_ONLY);//准备SQL语句 strSQL = "select * from Orders"; //执行SQL语句并获取结果集 sqlRst...

    jsp+access实现的图书管理系统

    state=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); //创建访问数据库的对象 results=state.executeQuery(querySql); //查询并返回结果 } catch...

    jsp + oracle分页简单实用

    sqlStmt = sqlCon.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY); //准备SQL语句 strSQL = "select name,age from test"; //执行SQL语句并获取结果...

Global site tag (gtag.js) - Google Analytics