public interface RowId
SQL ROWID 值在 Java 编程语言中的表示形式(映射)。SQL ROWID 是一种内置类型,其值可视为它标识的行在数据库表中的一个地址。该地址是逻辑的还是物理的(在某些方面)取决于它的原始数据源。
接口 ResultSet
、CallableStatement
和 PreparedStatement
中的方法(如 getRowId
和 setRowId
)允许程序员访问 SQL ROWID
值。RowId
接口提供以 byte 数组或 String
形式表示 ROWID
值的方法。
接口 DatabaseMetaData
中的方法 getRowIdLifetime
可用于确定 RowId
对象在创建它的事务及会话处理期间是否仍然有效,实际上,也就是用于确定其标识的行未被删除之前,RowId
是否仍然有效。除指定其原始数据源外的有效生存期之外,getRowIdLifetime
还指定其原始数据源内的 ROWID
值的有效生存期。在这一点上,它不同于大对象,因为原始数据源内大对象的有效生存期没有限制。
如果 JDBC 驱动程序支持该数据类型,则必须完全实现 RowId
接口中的所有方法。
DatabaseMetaData
方法摘要 | |
---|---|
boolean |
equals(Object obj) 将此 RowId 与指定对象比较。 |
byte[] |
getBytes() 返回表示此 java.sql.RowId 对象指定的 SQL ROWID 值的 byte 数组。 |
int |
hashCode() 返回此 RowId 对象的哈希码值。 |
String |
toString() 返回表示此 java.sql.RowId 对象指定的 SQL ROWID 值的 String。 |
方法详细信息 |
---|
boolean equals(Object obj)
RowId
与指定对象比较。当且仅当参数不为 null,并且是一个与此对象表示相同 ROWID 的 RowId 对象时,结果才为
true
。
将一个 RowId
与另一个 RowId
比较时,同时考虑它的原始生存期和有效生存期非常重要。如果两者都有效,并且两者都来自同一数据源的同一个表,那么如果它们相等,则标识相同的行;如果它们中有一个或多个不再保证有效,或者它们源自不同的数据源,或同一数据源的不同表,那么它们可能相等,但仍然不可能标识相同的行。
obj
- 用于比较此
RowId
对象的
Object
。
RowId
相等,则返回 true;否则返回 false
Object.hashCode()
,
Hashtable
byte[] getBytes()
java.sql.RowId
对象指定的 SQL
ROWID
值的 byte 数组。
String toString()
java.sql.RowId
对象指定的 SQL ROWID 值的 String。
与 java.sql.Date.toString()
以 String
"2004-03-17" 形式而不是 SQL DATE 字面值形式(它可以是 String
DATE "2004-03-17")返回其 DATE 的内容类似,toString() 以特定于提供连接的驱动程序的形式,而不是 ROWID
字面值形式返回其 ROWID 的内容。
java.sql.RowId
对象指定的
ROWID
值的驱动程序决定。
int hashCode()
RowId
对象的哈希码值。
RowId
的哈希码
Object.equals(java.lang.Object)
,
Hashtable