public interface RowSet
该接口添加了对 JavaBeansTM 组件模型的 JDBC API 支持。rowset 可用作可视化 Bean 开发环境中的 JavaBeans 组件,它可以在设计时创建和配置并在运行时执行。
RowSet
接口提供一组 JavaBeans 属性,这些属性允许配置一个 RowSet
实例来连接 JDBC 数据源并从中读取某些数据。一组设置方法(setInt
、setBytes
、setString
等等)提供将输入参数传递到 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。
字段摘要 |
---|
方法摘要 | |
---|---|
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) 将此 RowSet 对象命令中的指定参数设置为给定输入流。 |
void |
setAsciiStream(int parameterIndex, InputStream x, int length) 将此 RowSet 对象命令中的指定参数设置为给定的 java.io.InputStream 值。 |
void |
setAsciiStream(String parameterName, InputStream x) 将指定参数设置为给定输入流。 |
void |
setAsciiStream(String parameterName, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有指定字节数。 |
void |
setBigDecimal(int parameterIndex, BigDecimal x) 将此 RowSet 对象命令中的指定参数设置为给定的 java.math.BigDeciaml 值。 |
void |
setBigDecimal(String parameterName, BigDecimal x) 将指定参数设置为给定的 java.math.BigDecimal 值。 |
void |
setBinaryStream(int parameterIndex, InputStream x) 将此 RowSet 对象命令中的指定参数设置为给定输入流。 |
void |
setBinaryStream(int parameterIndex, InputStream x, int length) 将此 RowSet 对象命令中的指定参数设置为给定的 java.io.InputStream 值。 |
void |
setBinaryStream(String parameterName, InputStream x) 将指定参数设置为给定输入流。 |
void |
setBinaryStream(String parameterName, InputStream x, int length) 将指定参数设置为给定输入流,该输入流将拥有给定字节数。 |
void |
setBlob(int i, Blob x) 使用给定 Blob 值设置此 RowSet 对象命令中的指定参数。 |
void |
setBlob(int parameterIndex, InputStream inputStream) 将指定参数设置为 InputStream 对象。 |
void |
setBlob(int parameterIndex, InputStream inputStream, long length) 将指定参数设置为 InputStream 对象。 |
void |
setBlob(String parameterName, Blob x) 将指定参数设置为给定的 java.sql.Blob 对象。 |
void |
setBlob(String parameterName, InputStream inputStream) 将指定参数设置为 InputStream 对象。 |
void |
setBlob(String parameterName, InputStream inputStream, long length) 将指定参数设置为 InputStream 对象。 |
void |
setBoolean(int parameterIndex, boolean x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java boolean 值。 |
void |
setBoolean(String parameterName, boolean x) 将指定参数设置为给定的 Java boolean 值。 |
void |
setByte(int parameterIndex, byte x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java byte 值。 |
void |
setByte(String parameterName, byte x) 将指定参数设置为给定的 Java byte 值。 |
void |
setBytes(int parameterIndex, byte[] x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java byte 值数组。 |
void |
setBytes(String parameterName, byte[] x) 将指定参数设置为给定的 Java byte 数组。 |
void |
setCharacterStream(int parameterIndex, Reader reader) 将此 RowSet 对象命令中的指定参数设置为给定 Reader 对象。 |
void |
setCharacterStream(int parameterIndex, Reader reader, int length) 将此 RowSet 对象命令中的指定参数设置为给定的 java.io.Reader 值。 |
void |
setCharacterStream(String parameterName, Reader reader) 将指定参数设置为给定 Reader 对象。 |
void |
setCharacterStream(String parameterName, Reader reader, int length) 将指定参数设置为给定 Reader 对象,该对象是给定的字符长度数目。 |
void |
setClob(int i, Clob x) 使用给定 Clob 值设置此 RowSet 对象命令中的指定参数。 |
void |
setClob(int parameterIndex, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setClob(int parameterIndex, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setClob(String parameterName, Clob x) 将指定参数设置为给定的 java.sql.Clob 对象。 |
void |
setClob(String parameterName, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setClob(String parameterName, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
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 |
setDate(String parameterName, Date x) 使用运行应用程序的虚拟机所在的默认时区将指定参数设置为给定的 java.sql.Date 值。 |
void |
setDate(String parameterName, Date x, Calendar cal) 使用给定 Calendar 对象将指定参数设置为给定的 java.sql.Date 值。 |
void |
setDouble(int parameterIndex, double x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java double 值。 |
void |
setDouble(String parameterName, double x) 将指定参数设置为给定的 Java double 值。 |
void |
setEscapeProcessing(boolean enable) 将此 RowSet 对象的转义处理设置为开或关。 |
void |
setFloat(int parameterIndex, float x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java float 值。 |
void |
setFloat(String parameterName, float x) 将指定参数设置为给定的 Java float 值。 |
void |
setInt(int parameterIndex, int x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java int 值。 |
void |
setInt(String parameterName, int x) 将指定参数设置为给定的 Java int 值。 |
void |
setLong(int parameterIndex, long x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java long 值。 |
void |
setLong(String parameterName, long x) 将指定参数设置为给定的 Java long 值。 |
void |
setMaxFieldSize(int max) 将可以对列值返回的最大字节数设置为给定的字节数。 |
void |
setMaxRows(int max) 将此 RowSet 对象可以包含的最大行数设置为指定数。 |
void |
setNCharacterStream(int parameterIndex, Reader value) 将此 RowSet 对象命令中的指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(int parameterIndex, Reader value, long length) 将指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(String parameterName, Reader value) 将指定参数设置为 Reader 对象。 |
void |
setNCharacterStream(String parameterName, Reader value, long length) 将指定参数设置为 Reader 对象。 |
void |
setNClob(int parameterIndex, NClob value) 将指定参数设置为 java.sql.NClob 对象。 |
void |
setNClob(int parameterIndex, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setNClob(int parameterIndex, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName, NClob value) 将指定参数设置为 java.sql.NClob 对象。 |
void |
setNClob(String parameterName, Reader reader) 将指定参数设置为 Reader 对象。 |
void |
setNClob(String parameterName, Reader reader, long length) 将指定参数设置为 Reader 对象。 |
void |
setNString(int parameterIndex, String value) 将指定参数设置为给定的 String 对象。 |
void |
setNString(String parameterName, String value) 将指定参数设置为给定的 String 对象。 |
void |
setNull(int parameterIndex, int sqlType) 将此 RowSet 对象的 SQL 命令中的指定参数设置为 SQL NULL 。 |
void |
setNull(int paramIndex, int sqlType, String typeName) 将此 RowSet 对象的 SQL 命令中的指定参数设置为 SQL NULL 。 |
void |
setNull(String parameterName, int sqlType) 将指定参数设置为 SQL NULL 。 |
void |
setNull(String parameterName, int sqlType, String typeName) 将指定参数设置为 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 scaleOrLength) 使用给定 Java Object 设置此 RowSet 对象命令中的指定参数。 |
void |
setObject(String parameterName, Object x) 使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName, Object x, int targetSqlType) 使用给定对象设置指定参数的值。 |
void |
setObject(String parameterName, Object x, int targetSqlType, int scale) 使用给定对象设置指定参数的值。 |
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 |
setRowId(int parameterIndex, RowId x) 将指定参数设置为给定的 java.sql.RowId 对象。 |
void |
setRowId(String parameterName, RowId x) 将指定参数设置为给定的 java.sql.RowId 对象。 |
void |
setShort(int parameterIndex, short x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java short 值。 |
void |
setShort(String parameterName, short x) 将指定参数设置为给定的 Java short 值。 |
void |
setSQLXML(int parameterIndex, SQLXML xmlObject) 将指定参数设置为给定 java.sql.SQLXML 对象。 |
void |
setSQLXML(String parameterName, SQLXML xmlObject) 将指定参数设置为给定的 java.sql.SQLXML 对象。 |
void |
setString(int parameterIndex, String x) 将此 RowSet 对象命令中的指定参数设置为给定的 Java String 值。 |
void |
setString(String parameterName, String x) 将指定参数设置为给定的 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 |
setTime(String parameterName, Time x) 将指定参数设置为给定的 java.sql.Time 值。 |
void |
setTime(String parameterName, Time x, Calendar cal) 使用给定 Calendar 对象将指定参数设置为给定的 java.sql.Time 值。 |
void |
setTimestamp(int parameterIndex, Timestamp x) 将此 RowSet 对象命令中的指定参数设置为给定的 java.sql.Timestamp 值。 |
void |
setTimestamp(int parameterIndex, Timestamp x, Calendar cal) 使用给定 java.sql.Timestamp 值设置此 RowSet 对象命令中的指定参数。 |
void |
setTimestamp(String parameterName, Timestamp x) 将指定参数设置为给定的 java.sql.Timestamp 值。 |