Module  java.sql
软件包  java.sql

Interface Array

  • 所有已知实现类:
    SerialArray


    public interface Array
    用于SQL编程语言的映射类型为ARRAY 默认情况下, Array值是对SQL ARRAY值的事务持续时间引用。 默认情况下,使用内部的SQL LOCATOR(数组)实现一个Array对象,这意味着一个Array对象包含一个逻辑指针,指向SQL ARRAY值中的数据,而不是包含ARRAY值的数据。

    Array接口提供了将SQL ARRAY值的数据作为数组或ResultSet对象提供给客户端的ResultSet 如果SQL ARRAY的元素是UDT,则它们可能是自定义映射的。 要创建自定义映射,程序员必须做两件事情:

    • 创建一个实现SQLData接口的类,以便UDT进行自定义映射。
    • 在包含的类型映射中创建一个条目
      • UDT的完全限定的SQL类型名称
      • Class对象为类实现SQLData

    当具有基本类型的条目的类型映射被提供给方法getArraygetResultSet ,其包含的映射将用于映射ARRAY值的元素。 如果没有提供类型图,通常情况下,默认情况下将使用连接的类型映射。 如果连接的类型映射或提供给方法的类型映射没有基本类型的条目,则会根据标准映射映射元素。

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

    从以下版本开始:
    1.2
    • 方法摘要

      所有方法  接口方法  抽象方法 
      Modifier and Type 方法 描述
      void free​()
      该方法释放 Array对象并释放其所拥有的资源。
      Object getArray​()
      以Java编程语言的形式获取此 Array对象指定的SQL ARRAY值的内容。
      Object getArray​(long index, int count)
      检索由该 Array对象指定的SQL ARRAY值,从指定的 index开始,并包含最多 count个SQL数组的连续元素。
      Object getArray​(long index, int count, Map<String,Class<?>> map)
      检索由该 Array对象指定的SQL ARRAY值,从指定的 index开始,并包含最多 count个SQL数组的连续元素。
      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由该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开始,并包含最多count个SQL数组的连续元素。 此方法使用与连接相关联的类型映射来定制类型映射。

        注意:当使用getArray实现映射到原始数据类型的基类型时,实现定义是否返回的数组是该基元数据类型的数组或Object的数组。

        参数
        index - 要检索的第一个元素的数组索引; 第一个元素是索引1
        count - 要检索的连续SQL数组元素的数量
        结果
        一个包含最多 count个数组的数组,以元素 index
        异常
        SQLException - 如果尝试访问阵列时发生错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • getArray

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

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

        注意:当使用getArray实现映射到原始数据类型的基本类型时,实现定义是否返回的数组是该基元数据类型的数组或Object的数组。

        参数
        index - 要检索的第一个元素的数组索引; 第一个元素是索引1
        count - 要检索的连续SQL数组元素的数量
        map - 一个 java.util.Map对象,其中包含SQL类型名称及其映射到的Java编程语言中的类
        结果
        一个包含最多 count个连续元素的数组,由 Array对象指定的SQL ARRAY值,以元素 index
        异常
        SQLException - 如果尝试访问阵列时发生错误
        SQLFeatureNotSupportedException - 如果JDBC驱动程序不支持此方法
        从以下版本开始:
        1.2
      • getResultSet

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

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

        结果
        一个ResultSet对象,该对象包含由该Array对象指定的数组中的每个元素的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对象包含最多 count个连续元素的SQL数组,由该 Array对象指定,从索引 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 - 包含SQL类型名称与Java(tm)编程语言中的类映射的 Map对象
        结果
        一个 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