public interface JdbcRowSet extends RowSet, Joinable
JdbcRowSet
必须实现的标准接口。
ResultSet
对象的包装器,可以将结果集用作JavaBeans的组件。
因此, JdbcRowSet
对象可以是工具可用于构成应用程序的Bean之一。
因为JdbcRowSet
是一个连接的行集,也就是说,它使用支持JDBC技术的驱动程序不断维护与数据库的连接,同时也有效地使驱动程序成为JavaBeans组件。
因为它始终连接到它的数据库, JdbcRowSet
一个实例可以简单地调用它调用的调用,并在它的ResultSet
对象上调用它们。 因此,结果集可以例如是Swing应用程序中的组件。
JdbcRowSet
对象的另一个优点是它可以用于使一个ResultSet
对象可滚动和可更新。 所有RowSet
对象默认为可滚动和可更新。 如果正在使用的驱动程序和数据库不支持滚动和/或更新结果集,应用程序可以使用JdbcRowSet
对象的数据填充ResultSet
对象,然后对JdbcRowSet
对象进行操作,就像它是ResultSet
对象一样。
JdbcRowSet
对象 JdbcRowSet
实现, JdbcRowSetImpl
提供了默认构造函数的实现。
新实例使用默认值初始化,可以根据需要使用新值进行设置。
一个新的实例在它的execute
方法被调用之前并不真正有效。
一般来说,此方法执行以下操作:
PreparedStatement
对象并设置其任何占位符参数 ResultSet
对象 execute
方法成功,它将设置适当的私人JdbcRowSet
字段与以下:
Connection
对象 - 行集和数据库之间的连接 PreparedStatement
对象 - 生成结果集的查询 ResultSet
对象 - 行集的命令生成的结果集,实际上是一个JavaBeans组件 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
对象。
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 | Method and Description |
---|---|
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 包含一个
Connection 对象,从原始的
ResultSet 或传递给它的JDBC属性。
|
void |
setAutoCommit(boolean autoCommit)
每个
JdbcRowSet 包含一个
Connection 对象从原始的
ResultSet 或传递给它的JDBC属性。
|
void |
setShowDeleted(boolean b)
将属性
showDeleted 设置为给定的
boolean 值。
|
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
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
isWrapperFor, unwrap
getMatchColumnIndexes, getMatchColumnNames, setMatchColumn, setMatchColumn, setMatchColumn, setMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn, unsetMatchColumn
boolean getShowDeleted() throws SQLException
boolean
指示标记为删除的行是否显示在当前行的集合中。
如果返回true
,则删除的行与当前行可见。
如果返回false
,则行与当前行的集合不可见。
默认值为false
。
标准行集实现可能会选择限制此行为的安全注意事项或某些部署方案。 已删除行的可见性是实现定义的,不代表标准行为。
注意:允许删除的行保持可见使一些标准JDBC RowSet
实现方法的行为RowSet
化。 然而,大多数行集用户可以简单地忽略这个额外的细节,因为只有非常专门的应用程序可能希望利用此功能。
true
如果删除的行是可见的;
false
否则
SQLException
- 如果行集实现无法确定标记为删除的行是否保持可见
setShowDeleted(boolean)
void setShowDeleted(boolean b) throws SQLException
showDeleted
设置为给定的boolean
值。
此属性确定标记为删除的行是否继续显示在当前行的集合中。
如果该值设置为true
,则删除的行将立即与当前行的集合一起显示。
如果该值设置为false
,则删除的行将被设置为与当前行集不可见。
标准行集实现可能会选择限制此行为的安全注意事项或某些部署方案。 这是按照实现定义的,不代表标准行为。
b
- true
如果删除的行应该显示;
false
否则
SQLException
- 如果行集实现无法重置删除的行是否应该可见
getShowDeleted()
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
void commit() throws SQLException
JdbcRowSet
都包含一个Connection
对象,从ResultSet
或JDBC属性传递给它的构造函数。
此方法包含Connection
提交方法,以允许灵活的自动提交或非自动提交事务控制支持。
使自上次提交/回滚以来所做的所有更改都将永久性,并释放此Connection对象当前持有的任何数据库锁。 只有当自动提交模式被禁用时,才应该使用此方法。
SQLException
- 如果发生数据库访问错误或此JdbcRowSet内的此
JdbcRowSet
对象处于自动提交模式
Connection.setAutoCommit(boolean)
boolean getAutoCommit() throws SQLException
JdbcRowSet
包含一个Connection
对象,从原始的ResultSet
或传递给它的JDBC属性。
此方法包含Connection
的getAutoCommit
方法,以允许应用程序确定JdbcRowSet
事务行为。
将此连接的自动提交模式设置为给定状态。 如果连接处于自动提交模式,则其所有SQL语句将作为单个事务执行并提交。 否则,它的SQL语句被分组到通过调用方法commit或方法回滚而终止的事务中。 默认情况下,新连接处于自动提交模式。
true
如果启用了自动提交;
false
否则
SQLException
- 如果发生数据库访问错误
Connection.getAutoCommit()
void setAutoCommit(boolean autoCommit) throws SQLException
JdbcRowSet
包含一个Connection
对象,从原始的ResultSet
或传递给它的JDBC属性。
该方法包含Connection
的getAutoCommit
方法,允许应用程序设置JdbcRowSet
事务行为。
设置此Connection
对象的当前自动提交模式。
autoCommit
- true
启用自动提交;
false
禁用自动提交
SQLException
- 如果发生数据库访问错误
Connection.setAutoCommit(boolean)
void rollback() throws SQLException
JdbcRowSet
包含一个Connection
对象,从原始的ResultSet
或传递给它的JDBC属性。
撤销在当前事务中所做的所有更改,并释放此Connection
对象当前持有的任何数据库锁。
只有当自动提交模式被禁用时,才应该使用此方法。
SQLException
- 如果发生数据库访问错误或此
Connection
内的此
JdbcRowSet
对象处于自动提交模式。
rollback(Savepoint)
void rollback(Savepoint s) throws SQLException
JdbcRowSet
都包含一个Connection
对象,从原始的ResultSet
或传递给它的JDBC属性。
将当前事务中所做的所有更改撤消到上一集保存点,并释放此Connection
对象当前持有的任何数据库锁。
只有当自动提交模式被禁用时,才应该使用此方法。
s
-
Savepoint
回滚到
SQLException
-如果发生数据库访问错误或者此
Connection
此内对象
JdbcRowSet
是在自动提交模式。
rollback()