java.sql

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

public interface Array

SQL 类型 ARRAY 在 Java 编程语言中的映射关系。默认情况下,Array 值是对 SQL ARRAY 值的事务处理期引用。默认情况下,Array 对象是使用 SQL LOCATOR(array) 内部实现的,这意味着 Array 对象包含一个指向 SQL ARRAY 值中数据的逻辑指针,而不是包含 ARRAY 值的数据。

Array 接口提供了某些方法将 SQL ARRAY 值的数据作为数组或 ResultSet 对象传送到客户端。如果 SQL ARRAY 的元素是一个 UDT,那么可以自定义映射它们。要创建自定义映射关系,编程人员必须做两件事:

  • 为将被自定义映射的 UDT 创建一个实现 SQLData 接口的类。
  • 在类型映射表中生成一个项,该项包含
    • UDT 的完全限定 SQL 类型名称
    • 实现 SQLData 的类的 Class 对象

在将带有对应于基本类型的项的类型映射表提供给 getArraygetResultSet 方法时,该表所包含的映射关系将用于映射 ARRAY 值的元素。如果没有提供类型映射表(通常是这种情况),则默认使用连接的类型映射表。如果该连接的类型映射表或为某一方法提供的类型映射表没有对应于基本类型的项,则根据标准映射关系来映射这些元素。

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

从以下版本开始:
1.2

方法摘要
 void free()
          此方法释放 Array 对象以及它占用的资源。
 Object getArray()
          以 Java 编程语言数组的形式获取由此 Array 对象指定的 SQL ARRAY 值的内容。
 Object getArray(long index, int count)
          获取由此 Array 对象指定的 SQL ARRAY 值的一部分,从指定 index 开始,包含 SQL 数组中 count 个连续元素。
 Object getArray(long index, int count, Map<String,Class<?>> map)
          获取由此 ARRAY 对象指定的 SQL Array 值的一部分,从指定 index 开始,包含 SQL 数组中 count 个连续元素。
 Object getArray(Map<String,Class<?>> map)
          获取由此 Array 对象指定的 SQL ARRAY 值的内容。
 int getBaseType()
          在由此 Array 对象指定的数组中获取元素的 JDBC 类型。
 String getBaseTypeName()
          在由此 Array 对象指定的数组中获取元素的 SQL 类型名称。
 ResultSet getResultSet()
          获取包含此 Array 对象指定的 SQL ARRAY 值的元素的结果集合。
 ResultSet getResultSet(long index, int count)
          获取保存子数组的元素的结果集合,从索引 index 开始,包含 count 个连续元素。
 ResultSet getResultSet(long index, int count, Map<String,Class<?>> map)
          获取保存子数组的元素的结果集合,从索引 index 开始,包含 count 个连续元素。
 ResultSet getResultSet(Map<String,Class<?>> map)
          获取包含由此 Array 对象指定的 SQL ARRAY 值的元素的结果集合。
 

方法详细信息

getBaseTypeName

String getBaseTypeName()
                       throws SQLException
在由此 Array 对象指定的数组中获取元素的 SQL 类型名称。如果元素是内置类型,则返回这些元素特定于数据库的类型名称。如果元素是用户定义类型 (UDT),则此方法返回完全限定 SQL 类型名称。

返回:
一个 String,对于内置基本类型,该字符串是特定于数据库的名称;对于为 UDT 的基本类型,该字符串是完全限定的 SQL 类型名称
抛出:
SQLException - 如果在试图访问该类型名称时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getBaseType

int getBaseType()
                throws SQLException
在由此 Array 对象指定的数组中获取元素的 JDBC 类型。

返回:
Types 类中的一个常量,它是由此 Array 对象指定的数组中的元素的类型代码
抛出:
SQLException - 如果在试图访问该基本类型时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getArray

Object getArray()
                throws SQLException
以 Java 编程语言数组的形式获取由此 Array 对象指定的 SQL ARRAY 值的内容。这一 getArray 方法使用与该连接相关联的类型映射表来自定义类型映射关系。

注意:getArray 用于实现映射到基本数据类型的基类型时,返回数组是该基本数据类型数组还是 Object 数组将由实现定义。

返回:
一个 Java 编程语言形式的数组,它包含由此 Array 对象指定的 SQL ARRAY 值的有序元素
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getArray

Object getArray(Map<String,Class<?>> map)
                throws SQLException
获取由此 Array 对象指定的 SQL ARRAY 值的内容。此方法使用指定的 map 进行类型映射自定义,除非数组的基本类型与 map 中用户定义类型不匹配,这种情况下使用标准映射关系。这一 getArray 方法使用给定类型映射表或标准映射关系;它绝不会使用与连接关联的类型映射表。

注意:getArray 用于实现映射到基本数据类型的基类型时,返回数组是该基本数据类型数组还是 Object 数组将由实现定义。

参数:
map - 一个 java.util.Map 对象,该对象包含 SQL 类型名称到 Java 编程语言形式的类的映射关系
返回:
一个 Java 编程语言形式的数组,该数组包含由此对象指定的 SQL 数组的有序元素
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getArray

Object getArray(long index,
                int count)
                throws SQLException
获取由此 Array 对象指定的 SQL ARRAY 值的一部分,从指定 index 开始,包含 SQL 数组中 count 个连续元素。此方法使用与连接关联的类型映射表来自定义类型映射关系。

注意:getArray 用于实现映射到基本数据类型的基类型时,返回数组是该基本数据类型数组还是 Object 数组将由实现定义。

参数:
index - 要获取的第一个元素的数组索引;第一个元素位于索引 1 处
count - 要获取的连续 SQL 数组元素的数量
返回:
包含 count 个连续 SQL 数组元素的数组,从元素 index 开始
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getArray

Object getArray(long index,
                int count,
                Map<String,Class<?>> map)
                throws SQLException
获取由此 ARRAY 对象指定的 SQL Array 值的一部分,从指定 index 开始,包含 SQL 数组中 count 个连续元素。

此方法使用指定的 map 进行类型映射自定义,除非数组的基本类型与 map 中用户定义类型不匹配,这种情况下使用标准映射关系。这一 getArray 方法使用给定类型映射表或标准映射关系;它绝不会使用与连接关联的类型映射表。

注意:getArray 用于实现映射到基本数据类型的基类型时,返回数组是该基本数据类型数组还是 Object 数组将由实现定义。

参数:
index - 要获取的第一个元素的数组索引;第一个元素位于索引 1 处
count - 要获取的连续 SQL 数组元素的数量
map - 一个 java.util.Map 对象,该对象包含 SQL 类型名称以及它们所映射的 Java 编程语言形式的类
返回:
一个数组,它包含此 Array 对象指定的 SQL ARRAY 值的 count 个连续元素(从元素 index 开始)
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getResultSet

ResultSet getResultSet()
                       throws SQLException
获取包含此 Array 对象指定的 SQL ARRAY 值的元素的结果集合。如果合适,则使用该连接的类型映射表来映射数组的元素;否则使用标准映射关系。

结果集合中每个数组元素占一行,每行有两列。第二列存储元素值;第一列存储元素数组中的索引(第一个数组元素位于索引 1 处)。这些行按升序排列,对应于索引的顺序。

返回:
一个 ResultSet 对象,它在为此 Array 对象指定的数组中的每个元素包含一个行,这些行基于索引按升序排列。
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getResultSet

ResultSet getResultSet(Map<String,Class<?>> map)
                       throws SQLException
获取包含由此 Array 对象指定的 SQL ARRAY 值的元素的结果集合。此方法使用指定的 map 进行类型映射自定义,除非数组的基本类型与 map 中用户定义类型不匹配,这种情况下使用标准映射关系。这一 getResultSet 方法使用给定类型映射表或标准映射关系;它绝不会使用与连接关联的类型映射表。

结果集合中每个数组元素占一行,每行有两列。第二列存储元素值;第一列存储元素数组中的索引(第一个数组元素位于索引 1 处)。这些行按升序排列,对应于索引的顺序。

参数:
map - 包含 SQL 用户定义类型到 Java 编程语言形式的类的映射关系
返回:
一个 ResultSet 对象,它在为此 Array 对象指定的数组中的每个元素包含一个行,这些行基于索引按升序排列。
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getResultSet

ResultSet getResultSet(long index,
                       int count)
                       throws SQLException
获取保存子数组的元素的结果集合,从索引 index 开始,包含 count 个连续元素。此方法使用连接的类型映射表来映射数组的元素,如果该映射表包含一个对应于基本类型的项。否则使用标准映射关系。

结果集合中此对象指定的 SQL 数组的每个元素对应有一个行,第一行包含位于索引 index 处的元素。结果集合中包含 count 个行,这些行基于索引按升序排列。每行有两列:第二列存储元素值;第一列存储该元素数组中的索引。

参数:
index - 要获取的第一个元素的数组索引;第一个元素位于索引 1 处
count - 要获取的连续 SQL 数组元素的数量
返回:
一个 ResultSet 对象,该对象包含此 Array 对象指定的 SQL 数组的 count 个连续元素(从索引 index 开始)。
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

getResultSet

ResultSet getResultSet(long index,
                       int count,
                       Map<String,Class<?>> map)
                       throws SQLException
获取保存子数组的元素的结果集合,从索引 index 开始,包含 count 个连续元素。此方法使用指定的 map 进行类型映射自定义,除非数组的基本类型与 map 中用户定义类型不匹配,这种情况下使用标准映射关系。这一 getResultSet 方法使用给定类型映射表或标准映射关系;它绝不会使用与连接关联的类型映射表。

结果集合中此对象指定的 SQL 数组的每个元素对应有一个行,第一行包含位于索引 index 处的元素。结果集合中包含 count 个行,这些行基于索引按升序排列。每行有两列:第二列存储元素值;第一列存储该元素数组中的索引。

参数:
index - 要获取的第一个元素的数组索引;第一个元素位于索引 1 处
count - 要获取的连续 SQL 数组元素的数量
map - Map 对象,包含从 SQL 类型名称到 Java(tm) 编程语言形式的类的映射关系
返回:
一个 ResultSet 对象,该对象包含此 Array 对象指定的 SQL 数组的 count 个连续元素(从索引 index 开始)。
抛出:
SQLException - 如果在试图访问该数组时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.2

free

void free()
          throws SQLException
此方法释放 Array 对象以及它占用的资源。调用 free 方法后,该对象无效。

已调用 free 之后,任何调用 free 以外方法的尝试将会导致抛出 SQLException。如果多次调用 free,则后续对 free 的调用被视为无操作。

抛出:
SQLException - 如果释放 Array 资源时发生错误
SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
从以下版本开始:
1.6