zoukankan      html  css  js  c++  java
  • JDBC使用游标实现分页查询的方法

    本文实例讲述了JDBC使用游标实现分页查询的方法。分享给大家供大家参考,具体如下:

    /**
    * 一次只从数据库中查询最大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();
     }
    }
    
  • 相关阅读:
    函数式宏定义与普通函数
    linux之sort用法
    HDU 4390 Number Sequence 容斥原理
    HDU 4407 Sum 容斥原理
    HDU 4059 The Boss on Mars 容斥原理
    UVA12653 Buses
    UVA 12651 Triangles
    UVA 10892
    HDU 4292 Food
    HDU 4288 Coder
  • 原文地址:https://www.cnblogs.com/firstdream/p/7732656.html
Copyright © 2011-2022 走看看