java.sql

接口
异常
public interface RowId

SQL ROWID 值在 Java 编程语言中的表示形式(映射)。SQL ROWID 是一种内置类型,其值可视为它标识的行在数据库表中的一个地址。该地址是逻辑的还是物理的(在某些方面)取决于它的原始数据源。

接口 ResultSetCallableStatementPreparedStatement 中的方法(如 getRowIdsetRowId)允许程序员访问 SQL ROWID 值。RowId 接口提供以 byte 数组或 String 形式表示 ROWID 值的方法。

接口 DatabaseMetaData 中的方法 getRowIdLifetime 可用于确定 RowId 对象在创建它的事务及会话处理期间是否仍然有效,实际上,也就是用于确定其标识的行未被删除之前,RowId 是否仍然有效。除指定其原始数据源外的有效生存期之外,getRowIdLifetime 还指定其原始数据源内的 ROWID 值的有效生存期。在这一点上,它不同于大对象,因为原始数据源内大对象的有效生存期没有限制。

如果 JDBC 驱动程序支持该数据类型,则必须完全实现 RowId 接口中的所有方法。

从以下版本开始:
1.6
另请参见:
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。
 

方法详细信息

equals

boolean equals(Object obj)
将此 RowId 与指定对象比较。当且仅当参数不为 null,并且是一个与此对象表示相同 ROWID 的 RowId 对象时,结果才为 true

将一个 RowId 与另一个 RowId 比较时,同时考虑它的原始生存期和有效生存期非常重要。如果两者都有效,并且两者都来自同一数据源的同一个表,那么如果它们相等,则标识相同的行;如果它们中有一个或多个不再保证有效,或者它们源自不同的数据源,或同一数据源的不同表,那么它们可能相等,但仍然不可能标识相同的行。

覆盖:
Object 中的 equals
参数:
obj - 用于比较此 RowId 对象的 Object
返回:
如果 RowId 相等,则返回 true;否则返回 false
从以下版本开始:
1.6
另请参见:
Object.hashCode(), Hashtable

getBytes

byte[] getBytes()
返回表示此 java.sql.RowId 对象指定的 SQL ROWID 值的 byte 数组。

返回:
byte 数组,其长度由提供连接并表示此 java.sql.RowId 对象指定的 ROWID 值的驱动程序决定。

toString

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 的内容。

覆盖:
Object 中的 toString
返回:
String,其格式由提供连接并表示此 java.sql.RowId 对象指定的 ROWID 值的驱动程序决定。

hashCode

int hashCode()
返回此 RowId 对象的哈希码值。

覆盖:
Object 中的 hashCode
返回:
RowId 的哈希码
另请参见:
Object.equals(java.lang.Object), Hashtable