java.sql

接口
异常
所有已知实现类:
SerialRef

public interface Ref

Java 编程语言中 SQL REF 值的映射关系,它是到数据库中的 SQL 结构类型值的引用。

SQL REF 值存储在一个包含可引用 SQL 结构类型实例的表中,每个 REF 值都是该表中一个实例的唯一标识符。SQL REF 值可用作表中的列值或结构类型中的属性值,取代它所引用的 SQL 结构类型。

因为 SQL REF 值是一个指向 SQL 结构类型的逻辑指针,所以在默认情况下 Ref 对象也是一个逻辑指针。因此,以 Ref 对象的形式获取 SQL REF 值不会在客户端上实现结构类型的属性。

可以使用 PreparedStatement.setRef 方法在数据库中存储 Ref 对象。

如果 JDBC 驱动程序支持数据类型,那么 Ref 接口上的所有方法必须完全实现。

从以下版本开始:
1.2
另请参见:
Struct

方法摘要
 String getBaseTypeName()
          获取此 Ref 对象所引用 SQL 结构类型的完全限定的 SQL 名称。
 Object getObject()
          获取此 Ref 对象引用的 SQL 结构类型实例。
 Object getObject(Map<String,Class<?>> map)
          获取引用对象并使用给定类型映射表将其映射到 Java 类型。
 void setObject(Object value)
          将此 Ref 对象引用的结构类型值设置为给定的 Object 实例。
 

方法详细信息

getBaseTypeName

String getBaseTypeName()
                       throws SQLException
获取此 Ref 对象所引用 SQL 结构类型的完全限定的 SQL 名称。

返回:
SQL 结构类型引用的完全限定的 SQL 名称
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getObject

Object getObject(Map<String,Class<?>> map)
                 throws SQLException
获取引用对象并使用给定类型映射表将其映射到 Java 类型。

参数:
map - 包含要使用的映射关系的 java.util.Map 对象(要引用的 SQL 结构类型的完全限定名和将 SQL 结构类型映射到的 SQLData 实现的类对象)
返回:
Java Object,它是此 Ref 对象引用的 SQL 结构类型的自定义映射关系
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
setObject(java.lang.Object)

getObject

Object getObject()
                 throws SQLException
获取此 Ref 对象引用的 SQL 结构类型实例。如果连接的类型映射具有一个结构类型的项,则实例将被自定义映射到类型映射中指示的 Java 类。否则,结构类型实例被映射到 Struct 对象。

返回:
Java Object,它是此 Ref 对象引用的 SQL 结构类型的映射关系
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
setObject(java.lang.Object)

setObject

void setObject(Object value)
               throws SQLException
将此 Ref 对象引用的结构类型值设置为给定的 Object 实例。在将该值发送到数据库时,驱动程序将它转换成一个 SQL 结构类型值。

参数:
value - 一个 Object,表示此 Ref 对象将引用的 SQL 结构类型实例
抛出:
SQLException - 如果发生数据库访问错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.4
另请参见:
getObject(), getObject(Map), PreparedStatement.setObject(int, Object), CallableStatement.setObject(String, Object)