模块 java.sql
 java.sql

接口 Array

所有已知的实现类:
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 接口的类。
  • 在包含的类型map中创建一个条目
    • UDT 的标准 SQL 类型名称
    • 实现 SQLData 的类的 Class 对象

当将带有基本类型条目的类型映射提供给方法 getArraygetResultSet 时,它包含的映射将用于映射 ARRAY 值的元素。如果未提供类型映射(通常是这种情况),则默认使用连接的类型映射。如果连接的类型映射或提供给方法的类型映射没有基本类型的条目,则根据标准映射映射元素。

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

自从:
1.2
  • 方法总结

    修饰符和类型
    方法
    描述
    void
    free()
    此方法释放 Array 对象并释放它持有的资源。
    在 Java 编程语言中以数组形式检索此 Array 对象指定的 SQL ARRAY 值的内容。
    getArray(long index, int count)
    检索此 Array 对象指定的 SQL ARRAY 值的切片,从指定的 index 开始,最多包含 SQL 数组的 count 个连续元素。
    getArray(long index, int count, Map<String,Class<?>> map)
    检索此 Array 对象指定的 SQL ARRAY 值的切片,从指定的 index 开始,最多包含 SQL 数组的 count 个连续元素。
    检索此 Array 对象指定的 SQL ARRAY 值的内容。
    int
    检索此 Array 对象指定的数组中元素的 JDBC 类型。
    检索此 Array 对象指定的数组中元素的 SQL 类型名称。
    检索包含此 Array 对象指定的 SQL ARRAY 值的元素的结果集。
    getResultSet(long index, int count)
    检索包含子数组元素的结果集,该子数组从索引 index 开始,最多包含 count 个连续元素。
    getResultSet(long index, int count, Map<String,Class<?>> map)
    检索包含子数组元素的结果集,该子数组从索引 index 开始,最多包含 count 个连续元素。
    检索包含此 Array 对象指定的 SQL ARRAY 值的元素的结果集。
  • 方法详情

    • getBaseTypeName

      String  getBaseTypeName() throws SQL异常
      检索此 Array 对象指定的数组中元素的 SQL 类型名称。如果元素是内置类型,则返回元素的特定于数据库的类型名称。如果元素是用户定义类型 (UDT),则此方法返回完全限定的 SQL 类型名称。
      返回:
      String 是内置基类型的特定于数据库的名称;或作为 UDT 的基本类型的完全限定 SQL 类型名称
      抛出:
      SQLException - 如果在尝试访问类型名称时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getBaseType

      int getBaseType() throws SQL异常
      检索此 Array 对象指定的数组中元素的 JDBC 类型。
      返回:
      来自类 Types 的常量,它是此 Array 对象指定的数组中元素的类型代码
      抛出:
      SQLException - 如果在尝试访问基类型时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getArray

      Object  getArray() throws SQL异常
      在 Java 编程语言中以数组形式检索此 Array 对象指定的 SQL ARRAY 值的内容。此版本的方法 getArray 使用与连接关联的类型映射来自定义类型映射。

      Note:getArray 用于具体化映射到原始数据类型的基类型时,返回的数组是该原始数据类型的数组还是 Object 的数组由实现定义。

      返回:
      Java 编程语言中的数组,包含此 Array 对象指定的 SQL ARRAY 值的有序元素
      抛出:
      SQLException - 如果在尝试访问数组时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getArray

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

      Note:getArray 用于具体化映射到原始数据类型的基类型时,返回的数组是该原始数据类型的数组还是 Object 的数组由实现定义。

      参数:
      map - 一个 java.util.Map 对象,它包含 SQL 类型名称到 Java 编程语言中的类的映射
      返回:
      Java 编程语言中的一个数组,包含此对象指定的 SQL 数组的有序元素
      抛出:
      SQLException - 如果在尝试访问数组时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getArray

      Object  getArray(long index, int count) throws SQL异常
      检索此 Array 对象指定的 SQL ARRAY 值的切片,从指定的 index 开始,最多包含 SQL 数组的 count 个连续元素。此方法使用与连接关联的类型映射来自定义类型映射。

      Note:getArray 用于具体化映射到原始数据类型的基类型时,返回的数组是该原始数据类型的数组还是 Object 的数组由实现定义。

      参数:
      index - 要检索的第一个元素的数组索引;第一个元素在索引 1
      count - 要检索的连续 SQL 数组元素的数量
      返回:
      包含 SQL 数组的最多 count 个连续元素的数组,以元素 index 开头
      抛出:
      SQLException - 如果在尝试访问数组时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getArray

      Object  getArray(long index, int count, Map <String ,Class <?>> map) throws SQL异常
      检索此 Array 对象指定的 SQL ARRAY 值的切片,从指定的 index 开始,最多包含 SQL 数组的 count 个连续元素。

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

      Note:getArray 用于具体化映射到原始数据类型的基类型时,返回的数组是该原始数据类型的数组还是 Object 的数组由实现定义。

      参数:
      index - 要检索的第一个元素的数组索引;第一个元素在索引 1
      count - 要检索的连续 SQL 数组元素的数量
      map - 一个 java.util.Map 对象,包含 SQL 类型名称和它们映射到的 Java 编程语言中的类
      返回:
      一个数组,最多包含 count 个 SQL ARRAY 值的连续元素,此 Array 对象指定,从元素 index 开始
      抛出:
      SQLException - 如果在尝试访问数组时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getResultSet

      ResultSet  getResultSet() throws SQL异常
      检索包含此 Array 对象指定的 SQL ARRAY 值的元素的结果集。如果合适,使用连接的类型映射映射数组的元素;否则,使用标准映射。

      结果集包含每个数组元素一行,每行有两列。第二列存储元素值;第一列将索引存储到该元素的数组中(第一个数组元素位于索引 1 处)。行按照索引的顺序升序排列。

      返回:
      一个 ResultSet 对象,其中包含由此 Array 对象指定的数组中的每个元素的一行,这些行基于索引按升序排列。
      抛出:
      SQLException - 如果在尝试访问数组时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.2
    • getResultSet

      ResultSet  getResultSet(Map <String ,Class <?>> map) throws SQL异常
      检索包含此 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 SQL异常
      检索包含子数组元素的结果集,该子数组从索引 index 开始,最多包含 count 个连续元素。如果map包含基本类型的条目,则此方法使用连接的类型映射来映射数组的元素。否则,使用标准映射。

      结果集为此对象指定的 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 SQL异常
      检索包含子数组元素的结果集,该子数组从索引 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 SQL异常
      此方法释放 Array 对象并释放它持有的资源。一旦调用了free方法,该对象就失效了。

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

      抛出:
      SQLException - 如果释放阵列资源时发生错误
      SQLFeatureNotSupportedException - 如果 JDBC 驱动程序不支持此方法
      自从:
      1.6