zoukankan      html  css  js  c++  java
  • JDBC处理可滚动的处理集

     Statement createStatement(int resultSetType,                           int resultSetConcurrency,                           int resultSetHoldability)                           throws SQLException

    创建一个 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象。此方法与上述 createStatement 方法相同,但它允许重写默认结果集类型、并发性和可保存性。
    参数:
    resultSetType - 以下 ResultSet 常量之一:ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE
    resultSetConcurrency - 以下 ResultSet 常量之一:ResultSet.CONCUR_READ_ONLYResultSet.CONCUR_UPDATABLE
    resultSetHoldability - 以下 ResultSet 常量之一:ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
    返回:
    一个新的 Statement 对象,该对象将生成具有给定类型、并发性和可保存性的 ResultSet 对象
    抛出:
    SQLException - 如果发生数据库访问错误,在关闭的连接上调用此方法,或者给定参数不是指定类型、并发性和可保存性的 ResultSet 常量
    SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法,或者对于指定结果集类型、结果集可保存性和结果集并发性,此方法不受支持。
    我们的例子用的参数是:
    ResultSet.TYPE_SCROLL_INSENSITIVE 对于滚动不敏感,说白了就是结果集可以随便滚。
    ResultSet.CONCUR_READ_ONLY  当并发访问这个结果集的时候,只能读取内容,不能改。
     1 package com.ayang.jdbc;
     2 
     3 import java.sql.*;
     4 
     5 public class TestScroll{
     6     public static void main(String[] args) {
     7         
     8         try {
     9             Class.forName("oracle.jdbc.driver.OracleDriver");
    10             String  url = "jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
    11             Connection  conn  =  DriverManager.getConnection(url,"scott","root");
    12             
    13             Statement  stmt = conn.createStatement(
    14                     ResultSet.TYPE_SCROLL_INSENSITIVE,  //结果集滚动不敏感
    15                     ResultSet.CONCUR_READ_ONLY);        //并发访问结果集时,只读。
    16             
    17             ResultSet  rs = stmt.executeQuery("select * from emp order by sal");
    18             rs.next();
    19             System.out.println(rs.getString("ename"));
    20             rs.last();   //定位到最后一行
    21             System.out.println(rs.getString(1));  //打印第一列
    22             System.out.println(rs.isLast());      //是否是最后一行,boolean
    23             System.out.println(rs.isAfterLast()); //倒数第二行
    24             System.out.println(rs.getRow());   //得到是第几行。
    25             rs.previous();
    26             System.out.println(rs.getString(1));
    27             rs.absolute(6);                //指定到第6行
    28             System.out.println(rs.getString(1));
    29             rs.close();
    30             stmt.close();
    31             conn.close();
    32             
    33         } catch (ClassNotFoundException e) {
    34             
    35             e.printStackTrace();
    36         } catch (SQLException e) {
    37             
    38             e.printStackTrace();
    39         }
    40         
    41     }
    42 }
  • 相关阅读:
    JWT与Session的比较
    Java面试-TCP连接及其优化
    Java面试-动态规划与组合数
    探索Redis设计与实现12:浅析Redis主从复制
    探索Redis设计与实现11:使用快照和AOF将Redis数据持久化到硬盘中
    探索Redis设计与实现10:Redis的事件驱动模型与命令执行过程
    探索Redis设计与实现9:数据库redisDb与键过期删除策略
    探索Redis设计与实现8:连接底层与表面的数据结构robj
    探索Redis设计与实现6:Redis内部数据结构详解——skiplist
    探索Redis设计与实现7:Redis内部数据结构详解——intset
  • 原文地址:https://www.cnblogs.com/lihaoyang/p/4474192.html
Copyright © 2011-2022 走看看