-
- All Superinterfaces:
-
AutoCloseable
,Joinable
,ResultSet
,RowSet
,Wrapper
public interface JdbcRowSet extends RowSet, Joinable
JdbcRowSet
所有标准实现必须实现的标准接口。1.0概述
围绕ResultSet
对象的包装器,可以将结果集用作JavaBeans的组件。 因此,一个JdbcRowSet
对象可以是一个工具可用于构成应用程序的Bean之一。 因为一个JdbcRowSet
是一个连接的行集,也就是说,它使用支持JDBC技术的驱动程序不断维护与数据库的连接,它也有效地使驱动程序成为JavaBeans组件。因为它始终连接到其数据库,所以
JdbcRowSet
一个实例可以简单地调用它调用的调用,然后再调用它们的ResultSet
对象。 因此,结果集可以例如是Swing应用程序中的组件。JdbcRowSet
对象的另一个优点是它可以用于使一个ResultSet
对象可滚动和可更新。 全部RowSet
对象默认是可滚动和可更新的。 如果正在使用的驱动程序和数据库不支持滚动和/或更新结果集,则应用程序可以使用JdbcRowSet
对象的数据填充ResultSet
对象,然后对JdbcRowSet
对象进行操作,就像它是ResultSet
对象一样。2.0创建一个
JdbcRowSet
对象JdbcRowSet
接口的参考实现,JdbcRowSetImpl
,提供了默认构造函数的实现。 新实例使用默认值初始化,可根据需要使用新值进行设置。 一个新的实例在它的execute
方法被调用之前并不真正有效。 一般来说,此方法执行以下操作:- 建立与数据库的连接
- 创建一个
PreparedStatement
对象并设置其任何占位符参数 - 执行该语句以创建一个
ResultSet
对象
execute
方法成功,它将设置适当的私人JdbcRowSet
字段与以下:- 一个
Connection
对象 - 行集和数据库之间的连接 - 一个
PreparedStatement
对象 - 生成结果集的查询 - 一个
ResultSet
对象 - 该行集的命令生成的结果集,实际上是一个JavaBeans组件
execute
方法尚未成功执行,则不能execute
集上调用execute
和close
以外的方法。 所有其他公共方法都会抛出异常。然而,在调用
execute
方法之前,必须设置建立连接所需的命令和属性。 以下代码段创建一个JdbcRowSetImpl
对象,设置命令和连接属性,设置占位符参数,然后调用方法execute
。JdbcRowSetImpl jrs = new JdbcRowSetImpl(); jrs.setCommand("SELECT * FROM TITLES WHERE TYPE = ?"); jrs.setURL("jdbc:myDriver:myAttribute"); jrs.setUsername("cervantes"); jrs.setPassword("sancho"); jrs.setString(1, "BIOGRAPHY"); jrs.execute();
可变jrs
现在表示的实例JdbcRowSetImpl
即围绕一个瘦包装ResultSet
包含在表中的所有行对象TITLES
其中书的类型是基础资料。 此时,调用jrs
操作将影响结果集中的行,这实际上是一个JavaBeans组件。所述的实施
RowSet
方法execute
在JdbcRowSet
参考实现从在不同CachedRowSet
A“¢参考实现以考虑连接和断开的不同要求RowSet
对象。- 从以下版本开始:
- 1.5
-
-
Field Summary
-
Fields inherited from interface 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
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 void
commit()
每个JdbcRowSet
包含一个Connection
对象,从ResultSet
或JDBC属性传递给它的构造函数。boolean
getAutoCommit()
每个JdbcRowSet
包含一个Connection
对象,从原来的ResultSet
或传递给它的JDBC属性。RowSetWarning
getRowSetWarnings()
检索此JdbcRowSet
对象上的呼叫报告的第一个警告。boolean
getShowDeleted()
检索boolean
指示标记为删除的行是否显示在当前行的集合中。void
rollback()
每个JdbcRowSet
包含Connection
对象,从原来的ResultSet
或传递给它的JDBC属性。void
rollback(Savepoint s)
每个JdbcRowSet
包含从原来的ResultSet
或传递给它的JDBC属性的Connection
对象。void
setAutoCommit(boolean autoCommit)
每个JdbcRowSet
包含一个Connection
对象,从原来的ResultSet
或传递给它的JDBC属性。void
setShowDeleted(boolean b)
将属性showDeleted
设置为给定的boolean
值。-
Methods inherited from interface javax.sql.rowset.Joinable
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn
-
Methods inherited from interface 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, getHoldability, getInt, getInt, getLong, getLong, getMetaData, getNCharacterStream, getNCharacterStream, getNClob, getNClob, getNString, getNString, getObject, getObject, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getRowId, getRowId, getShort, getShort, getSQLXML, getSQLXML, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isClosed, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateClob, updateClob, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNCharacterStream, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNClob, updateNString, updateNString, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateRowId, updateRowId, updateShort, updateShort, updateSQLXML, updateSQLXML, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull
-
Methods inherited from interface javax.sql.RowSet
addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBlob, setBlob, setBlob, setBoolean, setBoolean, setByte, setByte, setBytes, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setClob, setClob, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDate, setDate, setDouble, setDouble, setEscapeProcessing, setFloat, setFloat, setInt, setInt, setLong, setLong, setMaxFieldSize, setMaxRows, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNClob, setNClob, setNClob, setNString, setNString, setNull, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setRowId, setRowId, setShort, setShort, setSQLXML, setSQLXML, setString, setString, setTime, setTime, setTime, setTime, setTimestamp, setTimestamp, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUrl, setURL, setUsername
-
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
-
-
-
-
方法详细信息
-
getShowDeleted
boolean getShowDeleted() throws SQLException
检索boolean
指示标记为删除的行是否显示在当前行的集合中。 如果返回true
,则删除的行与当前行一起可见。 如果返回false
,则行与当前行的集合不可见。 默认值为false
。标准行集实现可能会选择限制此行为的安全注意事项或某些部署方案。 已删除行的可见性是实现定义的,不代表标准行为。
注意:允许删除的行保持可见会使一些标准JDBC
RowSet
实现方法的行为复杂化。 然而,大多数行集用户可以简单地忽略这个额外的细节,因为只有非常专门的应用程序可能希望利用此功能。- 结果
-
true
如果删除的行是可见的; 否则为false
- 异常
-
SQLException
- 如果行集实现无法确定标记为删除的行是否仍然可见 - 另请参见:
-
setShowDeleted(boolean)
-
setShowDeleted
void setShowDeleted(boolean b) throws SQLException
将属性showDeleted
设置为给定的boolean
值。 此属性确定标记为删除的行是否继续显示在当前行的集合中。 如果该值设置为true
,则删除的行将立即与当前行的集合一起显示。 如果该值设置为false
,则删除的行将被设置为与当前行集不可见。标准行集实现可能会选择限制此行为的安全注意事项或某些部署方案。 这是按照实现定义的,不代表标准行为。
- 参数
-
b
-true
如果删除的行应该显示; 否则为false
- 异常
-
SQLException
- 如果行集实现无法重置删除的行是否应该可见 - 另请参见:
-
getShowDeleted()
-
getRowSetWarnings
RowSetWarning getRowSetWarnings() throws SQLException
检索通过此JdbcRowSet
对象的呼叫报告的第一个警告。 如果在此JdbcRowSet
对象上报告了第二个警告,它将被链接到第一个警告,可以通过调用第一个警告的方法RowSetWarning.getNextWarning
来检索。 对此JdbcRowSet
对象的后续警告将链接到方法RowSetWarning.getNextWarning
返回的RowSetWarning
对象。 每次阅读新行时,警告链都会自动清除。 在已关闭的RowSet
对象上可能无法调用此方法; 这样做会导致一个SQLException
被抛出。因为它总是连接到它的数据源,一个
JdbcRowSet
对象可以依靠活性的存在Statement
,Connection
,和ResultSet
实例。 这意味着应用程序可以通过调用它们提供的getNextWarning
方法来获得额外的SQLWarning
通知。 断开连接的Rowset
对象(如CachedRowSet
对象)无法访问这些getNextWarning
方法。- 结果
-
第
RowSetWarning
对象报告JdbcRowSet
对象或null
如果没有 - 异常
-
SQLException
- 如果此方法在封闭的JdbcRowSet
对象上调用 - 另请参见:
-
RowSetWarning
-
commit
void commit() throws SQLException
每个JdbcRowSet
包含一个Connection
对象从ResultSet
或JDBC属性传递给它的构造函数。 该方法包含Connection
提交方法,以允许灵活的自动提交或非自动提交事务控制支持。使自上次提交/回滚以来所做的所有更改都将永久性,并释放此Connection对象当前持有的任何数据库锁。 只有当自动提交模式被禁用时,才应该使用此方法。
- 异常
-
SQLException
- 如果发生数据库访问错误或此JdbcRowSet
此Connection对象处于自动提交模式 - 另请参见:
-
Connection.setAutoCommit(boolean)
-
getAutoCommit
boolean getAutoCommit() throws SQLException
每个JdbcRowSet
包含一个Connection
对象,从原来的ResultSet
或JDBC属性传递给它。 此方法包含Connection
的getAutoCommit
方法,以允许应用程序确定JdbcRowSet
事务行为。将此连接的自动提交模式设置为给定状态。 如果连接处于自动提交模式,则其所有SQL语句将作为单个事务执行并提交。 否则,它的SQL语句被分组到通过调用方法commit或方法回滚而终止的事务中。 默认情况下,新连接处于自动提交模式。
- 结果
-
true
如果启用了自动提交; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
Connection.getAutoCommit()
-
setAutoCommit
void setAutoCommit(boolean autoCommit) throws SQLException
每个JdbcRowSet
包含一个Connection
对象,从原来的ResultSet
或JDBC属性传递给它。 该方法包含Connection
的getAutoCommit
方法,允许应用程序设置JdbcRowSet
事务行为。设置此
Connection
对象的当前自动提交模式。- 参数
-
autoCommit
-true
启用自动提交;false
禁用自动提交 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
Connection.setAutoCommit(boolean)
-
rollback
void rollback() throws SQLException
每个JdbcRowSet
包含一个Connection
对象从原来的ResultSet
或JDBC属性传递给它。 撤消在当前事务中所做的所有更改,并释放此Connection
对象当前持有的任何数据库锁。 只有当自动提交模式被禁用时,才应该使用此方法。- 异常
-
SQLException
-如果发生数据库访问错误或者此Connection
此内对象JdbcRowSet
是在自动提交模式。 - 另请参见:
-
rollback(Savepoint)
-
rollback
void rollback(Savepoint s) throws SQLException
每个JdbcRowSet
包含一个Connection
对象,从原来的ResultSet
或JDBC属性传递给它。 将当前事务中所做的所有更改撤消到上一集保存点,并释放此Connection
对象当前持有的任何数据库锁。 只有当自动提交模式被禁用时,才应该使用此方法。- 参数
-
s
-Savepoint
回滚到 - 异常
-
SQLException
- 如果发生数据库访问错误或此Connection
内的此JdbcRowSet
对象处于自动提交模式。 - 另请参见:
-
rollback()
-
-