モジュール java.sql
パッケージ java.sql

インタフェースArray

既知のすべての実装クラス:
SerialArray

public interface Array
SQL型ARRAYのJavaプログラミング言語でのマッピングです。 デフォルトでは、Array値はSQL ARRAY値へのトランザクション期間中の参照です。 デフォルトでは、Arrayオブジェクトは内部的にSQL LOCATOR(array)を使って実装されます。これはつまり、Arrayオブジェクトは、ARRAY値のデータを含むのではなく、SQL ARRAY値のデータへの論理ポインタを含むということです。

Arrayインタフェースは、SQL ARRAY値のデータを配列またはResultSetオブジェクトとしてクライアントに渡すメソッドを提供します。 SQL ARRAYの要素がUDTの場合、要素はカスタム・マッピングできます。 カスタム・マッピングを作成するために、プログラマは次の2つを行う必要があります。

  • カスタム・マッピングされるUDTのSQLDataインタフェースを実装するクラスを作成します。
  • 次の項目を含む型マップにエントリを作成します。
    • UDTの完全指定されたSQLの型名
    • SQLDataを実装するクラスのClassオブジェクト

基底型のエントリを持つ型マップがgetArrayおよびgetResultSetメソッドに提供されると、その型マップに含まれるマッピングは、ARRAY値の要素をマッピングするのに使用されます。 通常は型マップは提供されず、その場合には接続の型マップがデフォルトで使用されます。 接続の型マップまたはメソッドに提供された型マップが基底型のエントリを持っていない場合、要素は標準マップに従ってマッピングされます。

JDBCドライバがそのデータ型をサポートする場合は、Arrayインタフェースのすべてのメソッドが完全に実装される必要があります。

導入されたバージョン:
1.2
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    void free()
    このメソッドは、Arrayオブジェクトを解放して、保持されているリソースを解放します。
    Object getArray()
    このArrayオブジェクトによって指定されたSQL ARRAY値の内容を、Javaプログラミング言語の配列の形式で取り出します。
    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の型を取得します。
      戻り値:
      このArrayオブジェクトによって指定された配列の要素の型コードである、Typesクラスからの定数
      例外:
      SQLException - 基底型へのアクセス中にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • getArray

      Object getArray() throws SQLException
      このArrayオブジェクトによって指定されたSQL ARRAY値の内容を、Javaプログラミング言語の配列の形式で取り出します。 このバージョンのgetArrayメソッドは、型マッピングのカスタマイズのために、接続に関連した型マップを使用します。

      ノート: getArrayを使用してプリミティブ・データ型にマッピングする基底型を生成する場合、返される配列がそのプリミティブ・データ型の配列とObjectの配列のどちらであるかは、実装で定義されます。

      戻り値:
      このArrayオブジェクトによって指定されたSQL ARRAY値の順序付き要素が格納されている、Javaプログラミング言語の配列
      例外:
      SQLException - 配列へのアクセス中にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • getArray

      Object getArray​(Map<String,​Class<?>> map) throws SQLException
      このArrayオブジェクトによって指定されたSQL ARRAY値の内容を取り出します。 このメソッドは、指定されたmapを型マップのカスタマイズに使います。ただし配列の基底型がmapのユーザー定義型と一致しない場合は、代わりに標準のマップが使われます。 このバージョンのgetArrayメソッドは、指定された型マップか、標準マップのどちらかを使います。接続に関連した型マップは使われません。

      ノート: getArrayを使用してプリミティブ・データ型にマッピングする基底型を生成する場合、返される配列がそのプリミティブ・データ型の配列とObjectの配列のどちらであるかは、実装で定義されます。

      パラメータ:
      map - SQLの型名のJavaプログラミング言語のクラスへのマッピングが格納されているjava.util.Mapオブジェクト
      戻り値:
      このオブジェクトによって指定されたSQL配列の順序付き要素が格納されている、Javaプログラミング言語の配列
      例外:
      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配列要素の数
      戻り値:
      要素indexで始まり、最大でcountの連続するSQL配列要素が格納されている配列
      例外:
      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 - SQLの型名とそれらがマッピングされるJavaプログラミング言語のクラスが格納されているjava.util.Mapオブジェクト
      戻り値:
      このArrayオブジェクトによって指定されたSQL ARRAY値の、要素indexで始まり、最大でcountの連続する要素が格納されている配列
      例外:
      SQLException - 配列へのアクセス中にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • getResultSet

      ResultSet getResultSet() throws SQLException
      このArrayオブジェクトによって指定されたSQL ARRAY値の要素を含む結果セットを取得します。 該当する場合は、配列の要素が接続の型マップを使ってマッピングされます。そうでない場合は、標準のマップが使用されます。

      結果セットは配列要素ごとに1行を含み、各行には2つの列があります。 2番目の列には要素の値が格納され、1番目の列には配列内の対応する要素のインデックスが格納されます(最初の配列要素のインデックスは1)。 行は、インデックスに基づく昇順で並べられます。

      戻り値:
      このArrayオブジェクトによって指定された配列の要素ごとに1行が格納されているResultSetオブジェクト。行はインデックスに基づく昇順で並べられている。
      例外:
      SQLException - 配列へのアクセス中にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • getResultSet

      ResultSet getResultSet​(Map<String,​Class<?>> map) throws SQLException
      このArrayオブジェクトによって指定されたSQL ARRAY値の要素を含む結果セットを取得します。 このメソッドは、指定されたmapを型マップのカスタマイズに使います。ただし配列の基底型がmapのユーザー定義型と一致しない場合は、代わりに標準のマップが使われます。 このバージョンのgetResultSetメソッドは、指定された型マップか、標準マップのどちらかを使います。接続に関連した型マップは使われません。

      結果セットは配列要素ごとに1行を含み、各行には2つの列があります。 2番目の列には要素の値が格納され、1番目の列には配列内の対応する要素のインデックスが格納されます(最初の配列要素のインデックスは1)。 行は、インデックスに基づく昇順で並べられます。

      パラメータ:
      map - SQLユーザー定義型のJavaプログラミング言語のクラスへのマッピングを格納する
      戻り値:
      このArrayオブジェクトによって指定された配列の要素ごとに1行が格納されているResultSetオブジェクト。行はインデックスに基づく昇順で並べられている。
      例外:
      SQLException - 配列へのアクセス中にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • getResultSet

      ResultSet getResultSet​(long index, int count) throws SQLException
      インデックスindexで始まり、最大でcountの連続した要素が格納されている部分配列の要素を保持する結果セットを取得します。 マップに基底型のエントリが格納されている場合、このメソッドは接続の型マップを使って配列の要素をマッピングします。 そうでない場合は、標準のマップが使われます。

      結果セットは、このオブジェクトで指定されたSQL配列の要素ごとに1行を含み、最初の行にはインデックスindexにある要素が格納されます。 結果セットには、最大でcountの行がインデックスに基づく昇順で格納されます。 各行には2つの列があります。2番目の列には要素の値が格納され、1番目の列には配列内の要素に対応するインデックスが格納されます。

      パラメータ:
      index - 最初に取り出す要素の配列インデックス。最初の要素のインデックスは1
      count - 取り出す連続するSQL配列要素の数
      戻り値:
      このArrayオブジェクトによって指定されたSQL配列の、インデックスindexで始まり、最大でcountの連続した要素が格納されているResultSetオブジェクト
      例外:
      SQLException - 配列へのアクセス中にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • getResultSet

      ResultSet getResultSet​(long index, int count, Map<String,​Class<?>> map) throws SQLException
      インデックスindexで始まり、最大でcountの連続した要素が格納されている部分配列の要素を保持する結果セットを取得します。 このメソッドは、指定されたmapを型マップのカスタマイズに使います。ただし配列の基底型がmapのユーザー定義型と一致しない場合は、代わりに標準のマップが使われます。 このバージョンのgetResultSetメソッドは、指定された型マップか、標準マップのどちらかを使います。接続に関連した型マップは使われません。

      結果セットは、このオブジェクトで指定されたSQL配列の要素ごとに1行を含み、最初の行にはインデックスindexにある要素が格納されます。 結果セットには、最大でcountの行がインデックスに基づく昇順で格納されます。 各行には2つの列があります。2番目の列には要素の値が格納され、1番目の列には配列内の要素に対応するインデックスが格納されます。

      パラメータ:
      index - 最初に取り出す要素の配列インデックス。最初の要素のインデックスは1
      count - 取り出す連続するSQL配列要素の数
      map - SQL型名のJavaプログラミング言語のクラスへのマップが格納されているMapオブジェクト
      戻り値:
      このArrayオブジェクトによって指定されたSQL配列の、インデックスindexで始まり、最大でcountの連続した要素が格納されているResultSetオブジェクト
      例外:
      SQLException - 配列へのアクセス中にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.2
    • free

      void free() throws SQLException
      このメソッドは、Arrayオブジェクトを解放して、保持されているリソースを解放します。 freeメソッドが一度呼び出されたあとは、オブジェクトは無効になります。

      freeが呼び出されると、free以外のメソッドを呼び出そうとしても、SQLExceptionがスローされます。 freeを複数回呼び出した場合、2回目以降のfree呼出しは何も行わないものとして扱われます。

      例外:
      SQLException - Arrayのリソースの解放時にエラーが発生した場合
      SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
      導入されたバージョン:
      1.6