所有类


javax.sql
接口 RowSet

所有超级接口:
ResultSet
所有已知子接口:
CachedRowSet, FilteredRowSet, JdbcRowSet, JoinRowSet, SyncResolver, WebRowSet

public interface RowSet
   
   
   
   
   
extends ResultSet

该接口添加了对 JavaBeansTM 组件模型的 JDBC API 支持。rowset 可用作可视化 Bean 开发环境中的 JavaBeans 组件,它可以在设计时创建和配置并在运行时执行。

RowSet 接口提供一组 JavaBeans 属性,这些属性允许配置一个 RowSet 实例来连接 JDBC 数据源并从中读取某些数据。一组设置方法(setIntsetBytessetString 等等)提供将输入参数传递到 rowset 命令属性的方式。在一般情况下,此命令是 rowset 从关系数据库获取其数据时所使用的 SQL 查询。

RowSet 接口支持 JavaBeans 事件,允许应用程序中的其他组件在 rowset 发生事件时(如值的更改)得到通知。

RowSet 接口是唯一的,因为需要使用其他 JDBC API 来实现它。换句话说,RowSet 实现是在 JDBC 驱动程序“顶部”执行的软件层。任何人都可以提供 RowSet 接口的实现,包括希望将 RowSet 实现作为其 JDBC 产品的一部分提供的 JDBC 驱动程序供应商。

RowSet 对象可以建立一个与数据源的连接并在其整个生命周期中维持该连接,在此情况下,该对象被称为连接的 rowset。rowset 还可以建立一个与数据源的连接,从其获取数据,然后关闭它。这种 rowset 被称为非连接 rowset。非连接 rowset 可以在断开时更改其数据,然后将这些更改发送回原始数据源,不过它必须重新建立连接才能完成此操作。

非连接 rowset 可以具有与之关联的 reader(RowSetReader 对象)和 writer(RowSetWriter 对象)。可以多种方式实现 reader 来使用数据填充 rowset,包括从非关系型数据源获取数据。也可以多种方式实现 writer 来将对 rowset 的数据所做的更改传回底层数据源。

Rowset 易于使用。RowSet 接口扩展了标准 java.sql.ResultSet 接口。RowSetMetaData 接口扩展了 java.sql.ResultSetMetaData 接口。因此,熟悉 JDBC API 的开发人员必须学习少数几个新 API 才能使用 rowset。此外,与 JDBC ResultSet 对象配套使用的第三方软件工具也可以方便地用于 rowset。

从以下版本开始:
1.4

字段摘要
 
从接口 java.sql.ResultSet 继承的字段
CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
 
方法摘要
 void addRowSetListener(RowSetListener listener)
          注册给定的侦听器,以便此 RowSet 对象上发生事件时将得到通知。
 void clearParameters()
          清除为此 RowSet 对象命令设置的参数。
 void execute()
          使用数据填充此 RowSet 对象。
 String getCommand()
          检索此 RowSet 对象的命令属性。
 String getDataSourceName()
          检索标识此 RowSet 对象的数据源的逻辑名称。
 boolean getEscapeProcessing()
          检索是否为此 RowSet 对象启用转义处理。
 int getMaxFieldSize()
          检索可以对某些列值返回的最大字节数。
 int getMaxRows()
          检索此 RowSet 对象可以包含的最大行数。
 String getPassword()
          检索用于创建数据库连接的密码。
 int getQueryTimeout()
          检索驱动程序等待语句执行的最大秒数。
 int getTransactionIsolation()
          检索为此 RowSet 对象设置的事务隔离级别。
 Map<String,Class<?>> getTypeMap()
          检索与此 RowSet 对象关联的 Map 对象,该对象指定 SQL 用户定义类型的自定义映射关系(如果有)。
 String getUrl()
          如果此 RowSet 对象使用 DriverManager 而非 DataSource 对象建立连接,则检索创建连接时将使用的 url 属性。
 String getUsername()
          检索用于创建此 RowSet 对象的数据库连接的用户名。
 boolean isReadOnly()
          检索此 RowSet 对象是否是只读的。
 void removeRowSetListener(RowSetListener listener)
          从在此 RowSet 对象上发生事件时得到通知的组件所组成的列表中移除指定的侦听器。
 void setArray(int i, Array x)
          使用给定的 Array 值设置此 RowSet 对象命令中的指定参数。
 void setAsciiStream(int parameterIndex, InputStream x, int length)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.io.InputStream 值。
 void setBigDecimal(int parameterIndex, BigDecimal x)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.math.BigDeciaml 值。
 void setBinaryStream(int parameterIndex, InputStream x, int length)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.io.InputStream 值。
 void setBlob(int i, Blob x)
          使用给定的 Blob 值设置此 RowSet 对象命令中的指定参数。
 void setBoolean(int parameterIndex, boolean x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java boolean 值。
 void setByte(int parameterIndex, byte x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java byte 值。
 void setBytes(int parameterIndex, byte[] x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java byte 值数组。
 void setCharacterStream(int parameterIndex, Reader reader, int length)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.io.Reader 值。
 void setClob(int i, Clob x)
          使用给定的 Clob 值设置此 RowSet 对象命令中的指定参数。
 void setCommand(String cmd)
          将此 RowSet 对象的命令属性设置为给定的 SQL 查询。
 void setConcurrency(int concurrency)
          将此 RowSet 对象的并发性设置为给定的并发级别。
 void setDataSourceName(String name)
          将此 RowSet 对象的数据源名称属性设置为给定的 String
 void setDate(int parameterIndex, Date x)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.sql.Date 值。
 void setDate(int parameterIndex, Date x, Calendar cal)
          使用给定的 java.sql.Date 值设置此 RowSet 对象命令中的指定参数。
 void setDouble(int parameterIndex, double x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java double 值。
 void setEscapeProcessing(boolean enable)
          将此 RowSet 对象的转义处理设置为开或关。
 void setFloat(int parameterIndex, float x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java float 值。
 void setInt(int parameterIndex, int x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java int 值。
 void setLong(int parameterIndex, long x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java long 值。
 void setMaxFieldSize(int max)
          将可以对列值返回的最大字节数设置为给定字节数。
 void setMaxRows(int max)
          将此 RowSet 对象可以包含的最大行数设置为指定数。
 void setNull(int parameterIndex, int sqlType)
          将此 RowSet 对象的 SQL 命令中的指定参数设置为 SQL NULL
 void setNull(int paramIndex, int sqlType, String typeName)
          将此 RowSet 对象的 SQL 命令中的指定参数设置为 SQL NULL
 void setObject(int parameterIndex, Object x)
          使用 Java Object 设置此 RowSet 对象命令中的指定参数。
 void setObject(int parameterIndex, Object x, int targetSqlType)
          使用 Java Object 设置此 RowSet 对象命令中的指定参数。
 void setObject(int parameterIndex, Object x, int targetSqlType, int scale)
          使用给定的 Java Object 设置此 RowSet 对象命令中的指定参数。
 void setPassword(String password)
          将此 RowSet 对象的数据库密码设置为给定的 String
 void setQueryTimeout(int seconds)
          将驱动程序等待语句执行的最大秒数设置为给定秒数。
 void setReadOnly(boolean value)
          将此 RowSet 对象的只读性设置为给定的 boolean 值。
 void setRef(int i, Ref x)
          使用给定的 Ref 值设置此 RowSet 对象命令中的指定参数。
 void setShort(int parameterIndex, short x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java short 值。
 void setString(int parameterIndex, String x)
          将此 RowSet 对象命令中的指定参数设置为给定的 Java String 值。
 void setTime(int parameterIndex, Time x)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.sql.Time 值。
 void setTime(int parameterIndex, Time x, Calendar cal)
          使用给定的 java.sql.Time 值设置此 RowSet 对象命令中的指定参数。
 void setTimestamp(int parameterIndex, Timestamp x)
          将此 RowSet 对象命令中的指定参数设置为给定的 java.sql.Timestamp 值。
 void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
          使用给定的 java.sql.Timestamp 值设置此 RowSet 对象命令中的指定参数。
 void setTransactionIsolation(int level)
          设置此 RowSet 对象的事务隔离级别。
 void setType(int type)
          将此 RowSet 对象的类型设置为给定类型。
 void setTypeMap(Map<String,Class<?>> map)
          将给定的 java.util.Map 对象安装为此 RowSet 对象的默认类型映射表。
 void setUrl(String url)
          设置此 RowSet 对象在使用 DriverManager 创建连接时将使用的 URL。
 void setUsername(String name)
          将此 RowSet 对象的用户名属性设置为给定的 String
 
从接口 java.sql.ResultSet 继承的方法
absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getInt, getInt, getLong, getLong, getMetaData, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getShort, getShort, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateShort, updateShort, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull
 

方法详细信息

getUrl

String getUrl()
              throws SQLException
如果此 RowSet 对象使用 DriverManager 而非 DataSource 对象建立连接,则检索创建连接时将使用的 url 属性。默认值为 null

返回:
字符串 url
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
setUrl(java.lang.String)

setUrl

void setUrl(String url)
            throws SQLException
设置此 RowSet 对象在使用 DriverManager 创建连接时将使用的 URL。 设置此属性是可选的。如果使用 URL,则在使用 rowset 连接到数据库之前,应用程序必须加载接受 URL 的 JDBC 驱动程序。在读取或写入数据时,rowset 将在内部使用 URL 创建数据库连接。创建连接时可能使用 URL,也可能使用数据源名称,具体取决于最近一次指定的是哪一个。

参数:
url - 字符串值;可以为 null
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getUrl()

getDataSourceName

String getDataSourceName()
检索标识此 RowSet 对象的数据源的逻辑名称。用户应该设置 url 属性或数据源名称属性。rowset 将使用最近设置的属性获取连接。

返回:
数据源名称
另请参见:
setDataSourceName(java.lang.String), setUrl(java.lang.String)

setDataSourceName

void setDataSourceName(String name)
                       throws SQLException
将此 RowSet 对象的数据源名称属性设置为给定的 String

可以使用数据源名称属性的值来查找已经在命名服务中注册的 DataSource 对象。完成检索后,可以使用 DataSource 对象创建到它所表示的数据源的连接。

参数:
name - 此 RowSet 对象数据源的逻辑名称
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getDataSourceName()

getUsername

String getUsername()
检索用于创建此 RowSet 对象的数据库连接的用户名。用户名属性是在调用 execute 方法前在运行时设置的。它通常不是 RowSet 对象的序列化状态的一部分。

返回:
用户名属性
另请参见:
setUsername(java.lang.String)

setUsername

void setUsername(String name)
                 throws SQLException
将此 RowSet 对象的用户名属性设置为给定的 String

参数:
name - 用户名
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getUsername()

getPassword

String getPassword()
检索用于创建数据库连接的密码。密码属性是在调用 execute 方法前在运行时设置的。它通常不是 RowSet 对象的序列化状态的一部分。

返回:
用于创建数据库连接的密码
另请参见:
setPassword(java.lang.String)

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部