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

インタフェースConnection

  • すべてのスーパー・インタフェース:
    AutoCloseable, Wrapper

    public interface Connection
    extends Wrapper, AutoCloseable

    特定のデータベースとの接続(セッション)を表現します。 接続のコンテキスト内でSQL文が実行され結果が返されます。

    Connectionオブジェクト中のデータベースは、表、サポートしているSQL文法、ストアド・プロシージャ、およびこの接続の能力などについての情報を提供します。 この情報は、getMetaDataメソッドで取得できます。

    注: JDBCアプリケーションでConnectionを構成するときは、setAutoCommitsetTransactionIsolationなどの適切なConnectionメソッドを使用するようにしてください。 利用できるJDBCのメソッドがある場合は、アプリケーションでSQLコマンドを直接呼び出して接続の構成を変更しないようにしてください。 各文を実行後、デフォルトでは、Connectionオブジェクトは自動コミット・モードになり、自動的に変更をコミットします。 自動コミット・モードが無効にされている場合、変更をコミットするにはcommitメソッドを明示的に呼び出す必要があります。そうしないとデータベースの変更は保存されません。

    JDBC 2.1コアAPIを使用して生成された新しいConnectionオブジェクトには、このオブジェクトに関連する、初期状態が空の型マップがあります。 ユーザーはこの型マップのUDTにカスタム・マッピングを入力できます。 ResultSet.getObjectメソッドによってデータ・ソースからUDTが取得されると、getObjectメソッドは接続の型マップをチェックして、そのUDTにエントリがあるかどうかを調べます。 エントリがある場合、getObjectメソッドは指示されたクラスにUDTをマッピングします。 エントリがない場合、UDTは標準マッピングを使用してマッピングされます。

    ユーザーはjava.util.Mapオブジェクトとなる新しい型マップを作成し、それにエントリを作成し、カスタム・マッピングを実行できるjava.sqlメソッドにそのエントリを渡すことができます。 この場合、メソッドは、接続に関連した型マップではなく指定された型マップを使用します。

    たとえば、次のコード・フラグメントは、SQL型ATHLETESがJavaプログラミング言語のAthletesクラスにマッピングされることを指定します。 コード・フラグメントはConnection オブジェクトconの型マップを取得し、それにエントリを挿入し、その新しいエントリでその型マップを接続の型マップとして設定します。

          java.util.Map map = con.getTypeMap();
          map.put("mySchemaName.ATHLETES", Class.forName("Athletes"));
          con.setTypeMap(map);
     

    導入されたバージョン:
    1.1
    関連項目:
    DriverManager.getConnection(java.lang.String, java.util.Properties), Statement, ResultSet, DatabaseMetaData
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      static int TRANSACTION_NONE
      トランザクションがサポートされていないことを示す定数です。
      static int TRANSACTION_READ_COMMITTED
      ダーティ読込みは抑制され、繰返し不可の読み込みおよびファントム読込みが起こることを示す定数です。
      static int TRANSACTION_READ_UNCOMMITTED
      ダーティ読み込み、繰返し不可の読み込み、およびファントム読込みが起こることを示す定数です。
      static int TRANSACTION_REPEATABLE_READ
      ダーティ読み込みおよび繰返し不可の読込みは抑制され、ファントム読込みが起こることを示す定数です。
      static int TRANSACTION_SERIALIZABLE
      ダーティ読み込み、繰返し不可の読み込み、およびファントム読込みが抑制されることを示す定数です。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 
      修飾子と型 メソッド 説明
      void abort​(Executor executor)
      オープン接続を終了します。
      default void beginRequest()
      独立した作業単位であるリクエストがこの接続から始まっていることを運転手に知らせます。
      void clearWarnings()
      このConnectionオブジェクトに関して報告されたすべての警告をクリアします。
      void close()
      自動的な解除を待たずに、ただちにこのConnectionオブジェクトのデータベースとJDBCリソースを解除します。
      void commit()
      直前のコミット/ロールバック以降に行われた変更をすべて永続的なものにし、このConnectionオブジェクトが現在保持するデータベース・ロックをすべて解除します。
      Array createArrayOf​(String typeName, Object[] elements)
      Arrayオブジェクトを生成するファクトリ・メソッドです。
      Blob createBlob()
      Blobインタフェースを実装しているオブジェクトを構築します。
      Clob createClob()
      Clobインタフェースを実装しているオブジェクトを構築します。
      NClob createNClob()
      NClobインタフェースを実装しているオブジェクトを構築します。
      SQLXML createSQLXML()
      SQLXMLインタフェースを実装しているオブジェクトを構築します。
      Statement createStatement()
      SQL文をデータベースに送るためのStatementオブジェクトを生成します。
      Statement createStatement​(int resultSetType, int resultSetConcurrency)
      指定された型と並行処理でResultSetオブジェクトを生成するStatementオブジェクトを生成します。
      Statement createStatement​(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
      指定された型、並行処理、および保持機能でResultSetオブジェクトを生成するStatementオブジェクトを生成します。
      Struct createStruct​(String typeName, Object[] attributes)
      Structオブジェクトを生成するファクトリ・メソッドです。
      default void endRequest()
      独立した作業単位であるリクエストが完了したことを運転手に知らせます。
      boolean getAutoCommit()
      このConnectionオブジェクトの現在の自動コミット・モードを取得します。
      String getCatalog()
      このConnectionオブジェクトの現在のカタログ名を取得します。
      Properties getClientInfo()
      ドライバでサポートされる各クライアント情報プロパティの名前と現在の値が含まれるリストを返します。
      String getClientInfo​(String name)
      名前で指定されたをクライアント情報プロパティの値を返します。
      int getHoldability()
      このConnectionオブジェクトを使用して生成されたResultSetオブジェクトの現在の保持機能を取得します。
      DatabaseMetaData getMetaData()
      このConnectionオブジェクトが接続を表すデータベースに関するメタデータを格納するDatabaseMetaDataオブジェクトを取得します。
      int getNetworkTimeout()
      ドライバがデータベース要求の完了を待つミリ秒数を取得します。
      String getSchema()
      このConnectionオブジェクトの現在のスキーマ名を取得します。
      int getTransactionIsolation()
      このConnectionオブジェクトの現在のトランザクション遮断レベルを取得します。
      Map<String,​Class<?>> getTypeMap()
      このConnectionオブジェクトに関連付けられたMapオブジェクトを取得します。
      SQLWarning getWarnings()
      このConnectionオブジェクトに関する呼出しによって報告される最初の警告を取得します。
      boolean isClosed()
      このConnectionオブジェクトがクローズされているかどうかを取得します。
      boolean isReadOnly()
      このConnectionオブジェクトが読込み専用モードかどうかを取得します。
      boolean isValid​(int timeout)
      接続がクローズされていて、まだ有効である場合はtrueを返します。
      String nativeSQL​(String sql)
      指定されたSQL文をシステムの本来のSQL文法に変換します。
      CallableStatement prepareCall​(String sql)
      データベースのストアド・プロシージャを呼び出すためのCallableStatementオブジェクトを生成します。
      CallableStatement prepareCall​(String sql, int resultSetType, int resultSetConcurrency)
      指定された型と並行処理でResultSetオブジェクトを生成するCallableStatementオブジェクトを生成します。
      CallableStatement prepareCall​(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
      指定された型と並行処理でResultSetオブジェクトを生成するCallableStatementオブジェクトを生成します。
      PreparedStatement prepareStatement​(String sql)
      パラメータ付きSQL文をデータベースに送るためのPreparedStatementオブジェクトを生成します。
      PreparedStatement prepareStatement​(String sql, int autoGeneratedKeys)
      自動生成キーを取得する機能を持つデフォルトのPreparedStatementオブジェクトを生成します。
      PreparedStatement prepareStatement​(String sql, int[] columnIndexes)
      指定された配列によって指定された自動生成キーを返す機能を持つデフォルトのPreparedStatementオブジェクトを生成します。
      PreparedStatement prepareStatement​(String sql, int resultSetType, int resultSetConcurrency)
      指定された型と並行処理でResultSetオブジェクトを生成するPreparedStatementオブジェクトを生成します。
      PreparedStatement prepareStatement​(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
      指定された型、並行処理、および保持機能でResultSetオブジェクトを生成するPreparedStatementオブジェクトを生成します。
      PreparedStatement prepareStatement​(String sql, String[] columnNames)
      指定された配列によって指定された自動生成キーを返す機能を持つデフォルトのPreparedStatementオブジェクトを生成します。
      void releaseSavepoint​(Savepoint savepoint)
      現在のトランザクションから指定されたSavepointオブジェクトと以降のSavepointオブジェクトを削除します。
      void rollback()
      現在のトランザクションにおけるすべての変更を取り消し、現在このConnectionオブジェクトが保持しているすべてのデータベース・ロックを解除します。
      void rollback​(Savepoint savepoint)
      指定されたSavepointオブジェクトが設定されたあとに行われたすべての変更を元に戻します。
      void setAutoCommit​(boolean autoCommit)
      この接続の自動コミット・モードを指定された状態に設定します。
      void setCatalog​(String catalog)
      このConnectionオブジェクトのデータベースに作業のためのサブスペースを選択するために、カタログ名を設定します。
      void setClientInfo​(String name, String value)
      名前で指定されたクライアント情報プロパティの値を、値で指定された値に設定します。
      void setClientInfo​(Properties properties)
      接続のクライアント情報プロパティの値を設定します。
      void setHoldability​(int holdability)
      このConnectionオブジェクトを使用して生成されたResultSetオブジェクトのデフォルトの保持機能を指定された保持機能へ変更します。
      void setNetworkTimeout​(Executor executor, int milliseconds)
      ConnectionまたはConnectionから作成されたオブジェクトが、データベースが任意の1つの要求に応答するのを待つ最大期間を設定します。
      void setReadOnly​(boolean readOnly)
      ドライバがデータベースの最適化を有効にできるように、ヒントとして、この接続を読込み専用モードに設定します。
      Savepoint setSavepoint()
      現在のトランザクションで名前のないセーブポイントを作成し、それを表す新しいSavepointオブジェクトを返します。
      Savepoint setSavepoint​(String name)
      現在のトランザクションで指定された名前のセーブポイントを作成し、それを表す新しいSavepointオブジェクトを返します。
      void setSchema​(String schema)
      アクセスするスキーマ名を設定します。
      default void setShardingKey​(ShardingKey shardingKey)
      このConnectionで使用するshardingKeyを指定
      default void setShardingKey​(ShardingKey shardingKey, ShardingKey superShardingKey)
      このConnectionで使用するshardingKeyおよびsuperShardingKeyを指定
      default boolean setShardingKeyIfValid​(ShardingKey shardingKey, int timeout)
      この接続のシャーディング・キーを設定および検証します。
      default boolean setShardingKeyIfValid​(ShardingKey shardingKey, ShardingKey superShardingKey, int timeout)
      この接続のシャーディング・キーを設定および検証します。
      void setTransactionIsolation​(int level)
      このConnectionオブジェクトのトランザクション遮断レベルを指定されたものに変更することを試みます。
      void setTypeMap​(Map<String,​Class<?>> map)
      このConnectionオブジェクトの型マップとして、指定されたTypeMapオブジェクトをインストールします。
    • フィールドの詳細

      • TRANSACTION_NONE

        static final int TRANSACTION_NONE
        トランザクションがサポートされていないことを示す定数です。
        関連項目:
        定数フィールド値
      • TRANSACTION_READ_UNCOMMITTED

        static final int TRANSACTION_READ_UNCOMMITTED
        ダーティ読み込み、繰返し不可の読み込み、およびファントム読込みが起こることを示す定数です。 このレベルでは1つのトランザクションによって変更された行を、その行の変更がコミットされる前に、ほかのトランザクションによって読み取ることがあります(ダーティ読み込み)。 変更がロールバックされると、2番目のトランザクションは無効な行を取り出すことになります。
        関連項目:
        定数フィールド値
      • TRANSACTION_READ_COMMITTED

        static final int TRANSACTION_READ_COMMITTED
        ダーティ読込みは抑制され、繰返し不可の読み込みおよびファントム読込みが起こることを示す定数です。 このレベルは、コミットされていない変更がある行をトランザクションが読み取ることを禁止するだけです。
        関連項目:
        定数フィールド値
      • TRANSACTION_REPEATABLE_READ

        static final int TRANSACTION_REPEATABLE_READ
        ダーティ読み込みおよび繰返し不可の読込みは抑制され、ファントム読込みが起こることを示す定数です。 このレベルでは、コミットされていない変更がある行をトランザクションが読み取ること、および1つのトランザクションがある行を読み込み、2番目のトランザクションがその行を変更した場合に、最初のトランザクションがその行を読込みし直したときに2度目は異なる値を取得するという状況が禁止されます(繰返し不可の読み込み)。
        関連項目:
        定数フィールド値
      • TRANSACTION_SERIALIZABLE

        static final int TRANSACTION_SERIALIZABLE
        ダーティ読み込み、繰返し不可の読み込み、およびファントム読込みが抑制されることを示す定数です。 このレベルには、TRANSACTION_REPEATABLE_READでの禁止に加え、1つのトランザクションがWHERE条件を満たすすべての行を読み出し、2番目のトランザクションがWHERE条件を満たす行を挿入したあとに、最初のトランザクションが同一の条件で読込みし直した場合に、2番目の読込みでは追加された「ファントム」行を取り出すという状況が禁止されます。
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • createStatement

        Statement createStatement()
                           throws SQLException
        SQL文をデータベースに送るためのStatementオブジェクトを生成します。 パラメータなしのSQL文は通常、Statementオブジェクトを使用して実行されます。 同じSQL文が多数回実行される場合は、PreparedStatementオブジェクトを使用する方が効率的なことがあります。

        返されるStatementオブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLYの型で、CONCUR_READ_ONLYの並行処理レベルを持ちます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。

        戻り値:
        新しいデフォルトのStatementオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
      • prepareStatement

        PreparedStatement prepareStatement​(String sql)
                                    throws SQLException
        パラメータ付きSQL文をデータベースに送るためのPreparedStatementオブジェクトを生成します。

        INパラメータ付きまたはINパラメータなしのSQL文は、プリコンパイルして、PreparedStatementオブジェクトに格納できます。 その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。

        注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。 ドライバが、プリコンパイルをサポートしている場合、prepareStatementメソッドは、その文をプリコンパイル用としてデータベースに送ります。 ドライバによっては、プリコンパイルをサポートしていないものがあります。 この場合、PreparedStatementオブジェクトが実行されるまで、文はデータベースに送られません。 これはユーザーに直接的な影響はありませんが、どのメソッドが、どのSQLExceptionオブジェクトをスローするかに関して影響があります。

        返されるPreparedStatementオブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLYの型で、CONCUR_READ_ONLYの並行処理レベルを持ちます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。

        パラメータ:
        sql - 次を含めることができるSQL文: 1つ以上の'?' INパラメータ・プレースホルダー
        戻り値:
        プリコンパイルされたSQL文を含む新しいデフォルトのPreparedStatementオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
      • prepareCall

        CallableStatement prepareCall​(String sql)
                               throws SQLException
        データベースのストアド・プロシージャを呼び出すためのCallableStatementオブジェクトを生成します。 CallableStatementオブジェクトは、そのINとOUTパラメータを設定するメソッドとストアド・プロシージャの呼出しを実行するメソッドを提供します。

        注: このメソッドは、ストアド・プロシージャ呼出し文を処理するために最適化されています。 ドライバによっては、prepareCallメソッドが実行されるときにデータベースに呼出し文を送るものがあります。その他のドライバは、CallableStatementオブジェクトが実行されるまで待ちます。 これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。

        返されるCallableStatementオブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLYの型で、CONCUR_READ_ONLYの並行処理レベルを持ちます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。

        パラメータ:
        sql - 1つ以上の「?」パラメータ・プレースホルダーを含めることができるSQL文。 通常この文は、JDBC呼出しのエスケープ構文を使用して指定される
        戻り値:
        プリコンパイルされたSQL文を含む新しいデフォルトのCallableStatementオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
      • nativeSQL

        String nativeSQL​(String sql)
                  throws SQLException
        指定されたSQL文をシステムの本来のSQL文法に変換します。 ドライバは、送信前にJDBC SQL文法をシステムの本来のSQL文法に変換できます。 このメソッドは、ドライバが送る文のシステム本来の形式を返します。
        パラメータ:
        sql - 1つ以上の「?」パラメータ・プレースホルダーを含めることができるSQL文
        戻り値:
        この文の元のフォーム
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
      • setAutoCommit

        void setAutoCommit​(boolean autoCommit)
                    throws SQLException
        この接続の自動コミット・モードを指定された状態に設定します。 接続が自動コミット・モードの場合、そのすべてのSQL文は実行され、個別のトランザクションとしてコミットされます。 そうでない場合、そのSQL文は、commitメソッドまたはrollbackメソッドへの呼出しによって終了されるトランザクションにグループ化されます。 デフォルトでは、新しい接続は自動コミット・モードです。

        コミットは、文が完了すると発生します。 文が完了するタイミングは、SQL文の種類によって異なります。

        • DML文(INSERT文、UPDATE文、またはDELETE文、DDL文など)の場合、文は実行を終了するとすぐに完了します。
        • Select文の場合、文は関連する結果セットが閉じられると完了します。
        • CallableStatementオブジェクトの場合、または複数の結果を返す文の場合、文は関連するすべての結果セットが閉じられて、すべての更新カウントと出力パラメータが取得されると完了します。

        注: トランザクションの途中でこのメソッドが呼び出され、自動コミット・モードが変更されると、そのトランザクションはコミットされます。 setAutoCommitが呼び出され、自動コミット・モードが変更されないと、呼出しによる操作は行われません。

        パラメータ:
        autoCommit - 自動コミット・モードを有効にする場合はtrue、無効にする場合はfalse
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にsetAutoCommit(true)が呼び出された場合、またはこのメソッドがクローズされた接続について呼び出された場合
        関連項目:
        getAutoCommit()
      • getAutoCommit

        boolean getAutoCommit()
                       throws SQLException
        このConnectionオブジェクトの現在の自動コミット・モードを取得します。
        戻り値:
        このConnectionオブジェクトの現在の自動コミット・モードの状態
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        関連項目:
        setAutoCommit(boolean)
      • commit

        void commit()
             throws SQLException
        直前のコミット/ロールバック以降に行われた変更をすべて永続的なものにし、このConnectionオブジェクトが現在保持するデータベース・ロックをすべて解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnectionオブジェクトが自動コミット・モードである場合
        関連項目:
        setAutoCommit(boolean)
      • rollback

        void rollback()
               throws SQLException
        現在のトランザクションにおけるすべての変更を取り消し、現在このConnectionオブジェクトが保持しているすべてのデータベース・ロックを解除します。 このメソッドは自動コミット・モードが無効になっているときしか使用できません。
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnectionオブジェクトが自動コミット・モードである場合
        関連項目:
        setAutoCommit(boolean)
      • close

        void close()
            throws SQLException
        自動的な解除を待たずに、ただちにこのConnectionオブジェクトのデータベースとJDBCリソースを解除します。

        すでにクローズされたConnectionオブジェクトでcloseメソッドを呼び出すと、操作は行われません。

        closeメソッドの呼出し前に、アプリケーションでアクティブなトランザクションを明示的にコミットまたはロールバックすることを強くお薦めします closeメソッドが呼び出され、かつアクティブなトランザクションが存在する場合、その結果は実装で定義されたものになります。

        定義:
        close、インタフェース: AutoCloseable
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合
      • isClosed

        boolean isClosed()
                  throws SQLException
        このConnectionオブジェクトがクローズされているかどうかを取得します。 接続は、closeメソッドが呼び出されるか、特定の致命的エラーが発生した場合にクローズされます。 このメソッドは、Connection.closeメソッドが呼び出されたあとに呼び出された場合にだけtrueを返すことが保証されています。

        このメソッドは通常、データベースへの接続が有効か無効かを判定するために呼び出すことはできません。 一般のクライアントでは、操作を実行したときにスローされる例外をキャッチすることにより、接続が無効であると判定します。

        戻り値:
        このConnectionオブジェクトがクローズされている場合はtrue、まだオープンの状態の場合はfalse
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合
      • getMetaData

        DatabaseMetaData getMetaData()
                              throws SQLException
        このConnectionオブジェクトが接続を表すデータベースに関するメタデータを格納するDatabaseMetaDataオブジェクトを取得します。 メタデータは、データベースの表、サポートしているSQL文法、ストアド・プロシージャ、およびこの接続の能力などについての情報を含んでいます。
        戻り値:
        このConnectionオブジェクトのDatabaseMetaDataオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
      • setReadOnly

        void setReadOnly​(boolean readOnly)
                  throws SQLException
        ドライバがデータベースの最適化を有効にできるように、ヒントとして、この接続を読込み専用モードに設定します。

        注: トランザクションの途中では、このメソッドを呼び出すことはできません。

        パラメータ:
        readOnly - trueの場合は読込み専用モードを使用可能にし、falseの場合は使用不可にする
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続について呼び出された場合、またはこのメソッドがトランザクション中に呼び出された場合
      • isReadOnly

        boolean isReadOnly()
                    throws SQLException
        このConnectionオブジェクトが読込み専用モードかどうかを取得します。
        戻り値:
        このConnectionオブジェクトが読込み専用モードの場合はtrue、そうでない場合はfalse
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
      • setCatalog

        void setCatalog​(String catalog)
                 throws SQLException
        このConnectionオブジェクトのデータベースに作業のためのサブスペースを選択するために、カタログ名を設定します。

        ドライバがカタログをサポートしていない場合は、この要求を無視します。

        setCatalogの呼出しは、前に作成または準備されたStatementオブジェクトには影響を与えません。 ConnectionメソッドprepareStatementまたはprepareCallが呼び出されたときにDBMS準備操作がただちに実行されるかどうかは、実装で定義されます。 移植性を最大限にするには、Statementの作成または準備の前にsetCatalogを呼び出す必要があります。

        パラメータ:
        catalog - 作業のためのカタログ名。カタログは、このConnectionオブジェクトのデータベースのサブスペース
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        関連項目:
        getCatalog()
      • getCatalog

        String getCatalog()
                   throws SQLException
        このConnectionオブジェクトの現在のカタログ名を取得します。
        戻り値:
        現在のカタログ名。存在しない場合はnull
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        関連項目:
        setCatalog(java.lang.String)
      • setTransactionIsolation

        void setTransactionIsolation​(int level)
                              throws SQLException
        このConnectionオブジェクトのトランザクション遮断レベルを指定されたものに変更することを試みます。 指定できるトランザクション遮断レベルの定数は、Connectionインタフェースで定義されています。

        注: トランザクションの途中でこのメソッドが呼び出されると、その結果は実装で定義されたものになります。

        パラメータ:
        level - 次のConnection定数。Connection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READ、またはConnection.TRANSACTION_SERIALIZABLEのいずれかです。 Connection.TRANSACTION_NONEはトランザクションがサポートされていないことを指定するので使用できない。
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータがConnection定数のどれでもない場合
        関連項目:
        DatabaseMetaData.supportsTransactionIsolationLevel(int), getTransactionIsolation()
      • getTransactionIsolation

        int getTransactionIsolation()
                             throws SQLException
        このConnectionオブジェクトの現在のトランザクション遮断レベルを取得します。
        戻り値:
        現在のトランザクション遮断レベル。次の定数のうちの1つ。Connection.TRANSACTION_READ_UNCOMMITTEDConnection.TRANSACTION_READ_COMMITTEDConnection.TRANSACTION_REPEATABLE_READConnection.TRANSACTION_SERIALIZABLE、またはConnection.TRANSACTION_NONE
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        関連項目:
        setTransactionIsolation(int)
      • getWarnings

        SQLWarning getWarnings()
                        throws SQLException
        このConnectionオブジェクトに関する呼出しによって報告される最初の警告を取得します。 2つ以上の警告がある場合、後続の警告は最初の警告にチェーンされ、直前に取得された警告のSQLWarning.getNextWarningメソッドを呼び出すことによって取得されます。

        このメソッドはクローズされた接続の呼出しには使用しません。使用するとSQLExceptionがスローされます。

        注: 後続の警告は、このSQLWarningにチェーンされます。

        戻り値:
        最初のSQLWarningオブジェクト。ない場合はnull
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        関連項目:
        SQLWarning
      • clearWarnings

        void clearWarnings()
                    throws SQLException
        このConnectionオブジェクトに関して報告されたすべての警告をクリアします。 このメソッドを呼び出したあと、このConnectionオブジェクトに対する新しい警告が通知されるまで、getWarningsnullを返します。
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
      • createStatement

        Statement createStatement​(int resultSetType,
                                  int resultSetConcurrency)
                           throws SQLException
        指定された型と並行処理でResultSetオブジェクトを生成するStatementオブジェクトを生成します。 このメソッドは上記のcreateStatementメソッドと同じですが、デフォルトの結果セットの型および並行処理をオーバーライドできます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。
        パラメータ:
        resultSetType - 結果セットの型。ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つ
        resultSetConcurrency - 並行処理の種類。ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLE
        戻り値:
        指定された型および並行処理でResultSetオブジェクトを生成する新しいStatementオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型および並行処理を示すResultSet定数でない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットのタイプと結果セットの並行処理でサポートされない場合
        導入されたバージョン:
        1.2
      • prepareStatement

        PreparedStatement prepareStatement​(String sql,
                                           int resultSetType,
                                           int resultSetConcurrency)
                                    throws SQLException
        指定された型と並行処理でResultSetオブジェクトを生成するPreparedStatementオブジェクトを生成します。 このメソッドは上記のprepareStatementメソッドと同じですが、デフォルトの結果セットの型および並行処理をオーバーライドできます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。
        パラメータ:
        sql - SQL文がデータベースへ送られるStringオブジェクト。次のものを含めることができる: 1つ以上の'?' INパラメータ
        resultSetType - 結果セットの型。ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つ
        resultSetConcurrency - 並行処理の種類。ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLE
        戻り値:
        プリコンパイルされたSQL文を含む新しいPreparedStatementオブジェクト。指定された型および並行処理でResultSetオブジェクトを生成する
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型および並行処理を示すResultSet定数でない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットのタイプと結果セットの並行処理でサポートされない場合
        導入されたバージョン:
        1.2
      • prepareCall

        CallableStatement prepareCall​(String sql,
                                      int resultSetType,
                                      int resultSetConcurrency)
                               throws SQLException
        指定された型と並行処理でResultSetオブジェクトを生成するCallableStatementオブジェクトを生成します。 このメソッドは上記のprepareCallメソッドと同じですが、デフォルトの結果セットの型および並行処理をオーバーライドできます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。
        パラメータ:
        sql - SQL文がデータベースへ送られるStringオブジェクト。1つ以上の'?'パラメータを含めることができる
        resultSetType - 結果セットの型。ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つ
        resultSetConcurrency - 並行処理の種類。ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLE
        戻り値:
        プリコンパイルされたSQL文を含む新しいCallableStatementオブジェクト。指定された型および並行処理でResultSetオブジェクトを生成する
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型および並行処理を示すResultSet定数でない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットのタイプと結果セットの並行処理でサポートされない場合
        導入されたバージョン:
        1.2
      • getTypeMap

        Map<String,​Class<?>> getTypeMap()
                                       throws SQLException
        このConnectionオブジェクトに関連付けられたMapオブジェクトを取得します。 アプリケーションがエントリを追加していないかぎり、空のマップが返されます。

        JDBCドライバは、setTypeMapに渡されたMapオブジェクトの内部コピーを作成することがあるため、getTypeMapから返されたMapオブジェクトの変更後、setTypeMapを呼び出す必要があります。

              Map<String,Class<?>> myMap = con.getTypeMap();
              myMap.put("mySchemaName.ATHLETES", Athletes.class);
              con.setTypeMap(myMap);
         

        戻り値:
        このConnectionオブジェクトに関連付けられたjava.util.Mapオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
        関連項目:
        setTypeMap(java.util.Map<java.lang.String, java.lang.Class<?>>)
      • setTypeMap

        void setTypeMap​(Map<String,​Class<?>> map)
                 throws SQLException
        このConnectionオブジェクトの型マップとして、指定されたTypeMapオブジェクトをインストールします。 型マップは、SQL構造化型および個別の型のカスタム・マッピングに使用されます。

        setMapを呼び出す前に、TypeMapの値を設定する必要があります。これは、JDBCドライバがTypeMapの内部コピーを作成する可能性があるためです:

              Map myMap<String,Class<?>> = new HashMap<String,Class<?>>();
              myMap.put("mySchemaName.ATHLETES", Athletes.class);
              con.setTypeMap(myMap);
         

        パラメータ:
        map - このConnectionオブジェクトのデフォルトの型マップの代わりとしてインストールするjava.util.Mapオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータがjava.util.Mapオブジェクトではない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.2
        関連項目:
        getTypeMap()
      • setHoldability

        void setHoldability​(int holdability)
                     throws SQLException
        このConnectionオブジェクトを使用して生成されたResultSetオブジェクトのデフォルトの保持機能を指定された保持機能へ変更します。 ResultSetオブジェクトのデフォルトの保持可能性は、DatabaseMetaData.getResultSetHoldability()を呼び出すことによって判断できます。
        パラメータ:
        holdability - ResultSet保持機能定数。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMIT
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが保持機能を示すResultSet定数ではない場合
        SQLFeatureNotSupportedException - 指定された保持機能がサポートされていない場合
        導入されたバージョン:
        1.4
        関連項目:
        getHoldability()DatabaseMetaData.getResultSetHoldability()ResultSet
      • getHoldability

        int getHoldability()
                    throws SQLException
        このConnectionオブジェクトを使用して生成されたResultSetオブジェクトの現在の保持機能を取得します。
        戻り値:
        保持機能。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMIT
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        導入されたバージョン:
        1.4
        関連項目:
        setHoldability(int)DatabaseMetaData.getResultSetHoldability()ResultSet
      • setSavepoint

        Savepoint setSavepoint()
                        throws SQLException
        現在のトランザクションで名前のないセーブポイントを作成し、それを表す新しいSavepointオブジェクトを返します。

        アクティブなトランザクションの外部でsetSavepointが呼び出されると、この新しく作成されたセーブポイントでトランザクションが開始されます。

        戻り値:
        新しいSavepointオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnectionオブジェクトが現在自動コミット・モードである場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
        関連項目:
        Savepoint
      • setSavepoint

        Savepoint setSavepoint​(String name)
                        throws SQLException
        現在のトランザクションで指定された名前のセーブポイントを作成し、それを表す新しいSavepointオブジェクトを返します。

        アクティブなトランザクションの外部でsetSavepointが呼び出されると、この新しく作成されたセーブポイントでトランザクションが開始されます。

        パラメータ:
        name - セーブポイントの名前を格納するString
        戻り値:
        新しいSavepointオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、またはこのConnectionオブジェクトが現在自動コミット・モードである場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
        関連項目:
        Savepoint
      • rollback

        void rollback​(Savepoint savepoint)
               throws SQLException
        指定されたSavepointオブジェクトが設定されたあとに行われたすべての変更を元に戻します。

        このメソッドは自動コミットが無効のときにだけ使用します。

        パラメータ:
        savepoint - ロールバックするSavepointオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、分散トランザクションに関係している間にこのメソッドが呼び出された場合、このメソッドがクローズされた接続について呼び出された場合、Savepointオブジェクトが有効でなくなった場合、またはこのConnectionオブジェクトが現在自動コミット・モードである場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
        関連項目:
        Savepoint, rollback()
      • releaseSavepoint

        void releaseSavepoint​(Savepoint savepoint)
                       throws SQLException
        現在のトランザクションから指定されたSavepointオブジェクトと以降のSavepointオブジェクトを削除します。 削除されたあとでセーブポイントを参照するとSQLExceptionがスローされます。
        パラメータ:
        savepoint - 削除するSavepointオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたSavepointオブジェクトが現在のトランザクションで有効なセーブポイントでない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
      • createStatement

        Statement createStatement​(int resultSetType,
                                  int resultSetConcurrency,
                                  int resultSetHoldability)
                           throws SQLException
        指定された型、並行処理、および保持機能でResultSetオブジェクトを生成するStatementオブジェクトを生成します。 このメソッドは上記のcreateStatementメソッドと同じですが、デフォルトの結果セットの型、並行処理、および保持機能をオーバーライドできます。
        パラメータ:
        resultSetType - ResultSet定数。ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つ
        resultSetConcurrency - ResultSet定数。ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLE
        resultSetHoldability - ResultSet定数。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMIT
        戻り値:
        指定された型、並行処理、および保持機能でResultSetオブジェクトを生成する新しいStatementオブジェクト
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet定数でない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合
        導入されたバージョン:
        1.4
        関連項目:
        ResultSet
      • prepareStatement

        PreparedStatement prepareStatement​(String sql,
                                           int resultSetType,
                                           int resultSetConcurrency,
                                           int resultSetHoldability)
                                    throws SQLException
        指定された型、並行処理、および保持機能でResultSetオブジェクトを生成するPreparedStatementオブジェクトを生成します。

        このメソッドは上記のprepareStatementメソッドと同じですが、デフォルトの結果セットの型、並行処理、および保持機能をオーバーライドできます。

        パラメータ:
        sql - SQL文がデータベースへ送られるStringオブジェクト。次のものを含めることができる: 1つ以上の'?' INパラメータ
        resultSetType - ResultSet定数。ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つ
        resultSetConcurrency - ResultSet定数。ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLE
        resultSetHoldability - ResultSet定数。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMIT
        戻り値:
        プリコンパイルされたSQL文を含む新しいPreparedStatementオブジェクト。指定された型、並行処理、および保持機能でResultSetオブジェクトを生成する
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet定数でない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合
        導入されたバージョン:
        1.4
        関連項目:
        ResultSet
      • prepareCall

        CallableStatement prepareCall​(String sql,
                                      int resultSetType,
                                      int resultSetConcurrency,
                                      int resultSetHoldability)
                               throws SQLException
        指定された型と並行処理でResultSetオブジェクトを生成するCallableStatementオブジェクトを生成します。 このメソッドは上記のprepareCallメソッドと同じですが、デフォルトの結果セットの型、結果セットの並行処理の種類、および保持機能をオーバーライドできます。
        パラメータ:
        sql - SQL文がデータベースへ送られるStringオブジェクト。1つ以上の'?'パラメータを含めることができる
        resultSetType - ResultSet定数。ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つ
        resultSetConcurrency - ResultSet定数。ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLE
        resultSetHoldability - ResultSet定数。ResultSet.HOLD_CURSORS_OVER_COMMITまたはResultSet.CLOSE_CURSORS_AT_COMMIT
        戻り値:
        プリコンパイルされたSQL文を含む新しいCallableStatementオブジェクト。指定された型、並行処理、および保持機能でResultSetオブジェクトを生成する
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが型、並行処理、および保持機能を示すResultSet定数でない場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合、またはこのメソッドが指定された結果セットの型、結果セットの保持機能、および結果セットの並行処理でサポートされない場合
        導入されたバージョン:
        1.4
        関連項目:
        ResultSet
      • prepareStatement

        PreparedStatement prepareStatement​(String sql,
                                           int autoGeneratedKeys)
                                    throws SQLException
        自動生成キーを取得する機能を持つデフォルトのPreparedStatementオブジェクトを生成します。 指定された定数によって、ドライバが自動生成キーを取得可能にするかどうかが指定されます。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合、このパラメータは無視されます。このような文のリストはベンダー固有です。

        注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。 ドライバが、プリコンパイルをサポートしている場合、prepareStatementメソッドは、その文をプリコンパイル用としてデータベースに送ります。 ドライバによっては、プリコンパイルをサポートしていないものがあります。 この場合、PreparedStatementオブジェクトが実行されるまで、文はデータベースに送られません。 これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。

        返されるPreparedStatementオブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLYの型で、CONCUR_READ_ONLYの並行処理レベルを持ちます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。

        パラメータ:
        sql - 次を含めることができるSQL文: 1つ以上の'?' INパラメータ・プレースホルダー
        autoGeneratedKeys - 自動生成キーを返すかどうかを示すフラグ。Statement.RETURN_GENERATED_KEYSまたはStatement.NO_GENERATED_KEYS
        戻り値:
        プリコンパイルされたSQL文を含む新しいPreparedStatementオブジェクト。自動生成キーを返す機能を持つ
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、または指定されたパラメータが自動生成キーを返すかどうかを示すStatement定数でない場合
        SQLFeatureNotSupportedException - JDBCドライバが定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
      • prepareStatement

        PreparedStatement prepareStatement​(String sql,
                                           int[] columnIndexes)
                                    throws SQLException
        指定された配列によって指定された自動生成キーを返す機能を持つデフォルトのPreparedStatementオブジェクトを生成します。 この配列は検索可能にされる自動生成キーを含むターゲット表の列のインデックスを含みます。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。

        INパラメータ付きまたはINパラメータなしのSQL文は、プリコンパイルして、PreparedStatementオブジェクトに格納できます。 その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。

        注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。 ドライバが、プリコンパイルをサポートしている場合、prepareStatementメソッドは、その文をプリコンパイル用としてデータベースに送ります。 ドライバによっては、プリコンパイルをサポートしていないものがあります。 この場合、PreparedStatementオブジェクトが実行されるまで、文はデータベースに送られません。 これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。

        返されるPreparedStatementオブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLYの型で、CONCUR_READ_ONLYの並行処理レベルを持ちます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。

        パラメータ:
        sql - 次を含めることができるSQL文: 1つ以上の'?' INパラメータ・プレースホルダー
        columnIndexes - 挿入された行から返される列を示す列インデックスの配列
        戻り値:
        プリコンパイルされた文を含む新しいPreparedStatementオブジェクト。指定された列インデックスの配列によって指定される自動生成キーを返す機能を持つ
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
      • prepareStatement

        PreparedStatement prepareStatement​(String sql,
                                           String[] columnNames)
                                    throws SQLException
        指定された配列によって指定された自動生成キーを返す機能を持つデフォルトのPreparedStatementオブジェクトを生成します。 この配列は、返される自動生成キーを含むターゲット表の列の名前を含みます。 SQL文がINSERT文でない場合、または自動生成キーを返すことができるSQL文でない場合(そのような文のリストはベンダー固有)、ドライバはこの配列を無視します。

        INパラメータ付きまたはINパラメータなしのSQL文は、プリコンパイルして、PreparedStatementオブジェクトに格納できます。 その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。

        注: このメソッドは、プリコンパイルが効果のある、パラメータ付きSQL文を処理するために最適化されています。 ドライバが、プリコンパイルをサポートしている場合、prepareStatementメソッドは、その文をプリコンパイル用としてデータベースに送ります。 ドライバによっては、プリコンパイルをサポートしていないものがあります。 この場合、PreparedStatementオブジェクトが実行されるまで、文はデータベースに送られません。 これはユーザーに直接的な影響はありませんが、どのメソッドが特定のSQLExceptionをスローするかに関して影響があります。

        返されるPreparedStatementオブジェクトを使って作成された結果セットは、デフォルトでは、TYPE_FORWARD_ONLYの型で、CONCUR_READ_ONLYの並行処理レベルを持ちます。 作成された結果セットの保持機能は、getHoldability()を呼び出すことで判断できます。

        パラメータ:
        sql - 次を含めることができるSQL文: 1つ以上の'?' INパラメータ・プレースホルダー
        columnNames - 挿入された行から返される列を示す列名の配列
        戻り値:
        プリコンパイルされた文を含む新しいPreparedStatementオブジェクト。指定された列名の配列によって指定される自動生成キーを返す機能を持つ
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.4
      • createClob

        Clob createClob()
                 throws SQLException
        Clobインタフェースを実装しているオブジェクトを構築します。 返されるオブジェクトは、初期状態ではデータが格納されていません。 データをClobに追加するには、ClobインタフェースのsetAsciiStreamsetCharacterStreamsetStringの各メソッドを使用できます。
        戻り値:
        Clobインタフェースを実装しているオブジェクト
        例外:
        SQLException - Clobインタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのデータ型をサポートしない場合
        導入されたバージョン:
        1.6
      • createBlob

        Blob createBlob()
                 throws SQLException
        Blobインタフェースを実装しているオブジェクトを構築します。 返されるオブジェクトは、初期状態ではデータが格納されていません。 データをBlobに追加するには、BlobインタフェースのsetBinaryStreamおよびsetBytesメソッドを使用できます。
        戻り値:
        Blobインタフェースを実装しているオブジェクト
        例外:
        SQLException - Blobインタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのデータ型をサポートしない場合
        導入されたバージョン:
        1.6
      • createNClob

        NClob createNClob()
                   throws SQLException
        NClobインタフェースを実装しているオブジェクトを構築します。 返されるオブジェクトは、初期状態ではデータが格納されていません。 データをNClobに追加するには、NClobインタフェースのsetAsciiStreamsetCharacterStreamsetStringの各メソッドを使用できます。
        戻り値:
        NClobインタフェースを実装しているオブジェクト
        例外:
        SQLException - NClobインタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのデータ型をサポートしない場合
        導入されたバージョン:
        1.6
      • createSQLXML

        SQLXML createSQLXML()
                     throws SQLException
        SQLXMLインタフェースを実装しているオブジェクトを構築します。 返されるオブジェクトは、初期状態ではデータが格納されていません。 データをSQLXMLオブジェクトに追加するには、SQLXMLインタフェースのcreateXmlStreamWriterオブジェクトとsetStringメソッドを使用できます。
        戻り値:
        SQLXMLインタフェースを実装しているオブジェクト
        例外:
        SQLException - SQLXMLインタフェースを実装するオブジェクトを構築できなかった場合、このメソッドがクローズされた接続に対して呼び出された場合、またはデータベース・アクセス・エラーが発生した場合
        SQLFeatureNotSupportedException - JDBCドライバがこのデータ型をサポートしない場合
        導入されたバージョン:
        1.6
      • isValid

        boolean isValid​(int timeout)
                 throws SQLException
        接続がクローズされていて、まだ有効である場合はtrueを返します。 ドライバは、接続に対するクエリーを送信するか、またはこのメソッドが呼び出されるときに接続がまだ有効であることを明確に検証するその他のメカニズムを使用します。

        接続を検証するためにドライバによって送信されるクエリーは、現在のトランザクションのコンテキストで実行されます。

        パラメータ:
        timeout - 接続を検証するために使用したデータベース操作の完了を待機する秒数。 操作の完了前にタイム・アウト期間が過ぎると、このメソッドはfalseを返す。 値0は、タイム・アウトがこのデータベース操作に適用されないことを示す
        戻り値:
        接続が有効な場合はtrue、そうでない場合はfalse
        例外:
        SQLException - timeoutに指定された値が0より小さい場合
        導入されたバージョン:
        1.6
        関連項目:
        DatabaseMetaData.getClientInfoProperties()
      • setClientInfo

        void setClientInfo​(String name,
                           String value)
                    throws SQLClientInfoException
        名前で指定されたクライアント情報プロパティの値を、値で指定された値に設定します。

        アプリケーションでは、ドライバでサポートされるクライアント情報プロパティ、および各プロパティに指定できる最大長を判断するために、DatabaseMetaData.getClientInfoPropertiesメソッドを使用できます。

        ドライバは、指定された値をデータベース内の適切な場所に格納します。 たとえば、特殊なレジスタ、セッション・パラメータ、システム表の列などです。 効率性の観点から、次に文が実行または準備されるまで、ドライバはデータベースへの値の設定を保留することがあります。 クライアント情報をデータベース内の適切な場所に格納すること以外に、これらのメソッドが接続の動作を変更することはありません。 これらのメソッドに指定された値は、検討、診断、およびデバッグの目的のみに使用されます。

        指定されたクライアント情報名がドライバで認識されない場合、ドライバは警告を生成します。

        このメソッドに指定された値がプロパティの最大長よりも長い場合、ドライバは値を切詰め、警告を生成するか、またはSQLClientInfoExceptionを生成する場合があります。 ドライバがSQLClientInfoExceptionを生成した場合、指定された値は接続に設定されていません。

        標準のクライアント情報プロパティを次に示します。 ドライバでこれらのプロパティをサポートする必要はありませんが、いずれかの標準プロパティによって記述できるクライアント情報プロパティをサポートしている場合は、その標準プロパティ名を使用するようにしてください。

        • ApplicationName - 現在接続を利用しているアプリケーションの名前
        • ClientUser - 接続を使用しているアプリケーションが実行している処理のユーザーの名前。 接続を確立するために使用されたユーザー名と同じにならない場合があります。
        • ClientHostname - 接続を使用しているアプリケーションが実行されているコンピュータのホスト名

        パラメータ:
        name - 設定するクライアント情報プロパティの名前
        value - クライアント情報プロパティに設定する値。 値がnullの場合、指定されたプロパティの現在の値がクリアされる
        例外:
        SQLClientInfoException - データベース・サーバーでクライアント情報値の設定中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        導入されたバージョン:
        1.6
      • setClientInfo

        void setClientInfo​(Properties properties)
                    throws SQLClientInfoException
        接続のクライアント情報プロパティの値を設定します。 Propertiesオブジェクトには、設定されるクライアント情報プロパティの名前と値が格納されています。 プロパティ・リストに含まれるクライアント情報プロパティのセットによって、接続のクライアント情報プロパティの現在のセットが置き換えられます。 現在接続で設定されているプロパティがプロパティ・リストに存在しない場合、そのプロパティはクリアされます。 空のプロパティ・リストを指定すると、接続のすべてのプロパティがクリアされます。 詳細は、setClientInfo (String, String)を参照してください。

        いずれかのクライアント情報プロパティの設定時にエラーが発生した場合、SQLClientInfoExceptionがスローされます。 SQLClientInfoExceptionには、設定されなかったクライアント情報プロパティを示す情報が格納されています。 一部のデータベースでは、複数のクライアント情報プロパティを原子的に設定することが許可されないため、クライアント情報の状態は不明です。 そのようなデータベースでは、エラーが起きる前に1つ以上のプロパティが設定された可能性があります。

        パラメータ:
        properties - 設定するクライアント情報プロパティのリスト
        例外:
        SQLClientInfoException - データベース・サーバーでクライアント情報値の設定中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        導入されたバージョン:
        1.6
        関連項目:
        setClientInfo(String, String)
      • getClientInfo

        String getClientInfo​(String name)
                      throws SQLException
        名前で指定されたをクライアント情報プロパティの値を返します。 指定されたクライアント情報プロパティが設定されていなくて、かつデフォルト値がない場合、このメソッドはnullを返すことがあります。 また、指定されたクライアント情報プロパティ名がドライバでサポートされていない場合もnullを返します。

        アプリケーションでは、ドライバでサポートされるクライアント情報プロパティを判断するために、DatabaseMetaData.getClientInfoPropertiesメソッドを使用できます。

        パラメータ:
        name - 取得するクライアント情報プロパティの名前
        戻り値:
        指定されたクライアント情報プロパティの値
        例外:
        SQLException - データベースからクライアント情報値のフェッチ中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        導入されたバージョン:
        1.6
        関連項目:
        DatabaseMetaData.getClientInfoProperties()
      • getClientInfo

        Properties getClientInfo()
                          throws SQLException
        ドライバでサポートされる各クライアント情報プロパティの名前と現在の値が含まれるリストを返します。 クライアント情報プロパティが設定されていなくて、かつデフォルト値がない場合、このプロパティの値はnullになることがあります。
        戻り値:
        ドライバでサポートされる各クライアント情報プロパティの名前と現在の値が含まれるPropertiesオブジェクト。
        例外:
        SQLException - データベースからクライアント情報値のフェッチ中にデータベース・サーバーがエラーを返した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        導入されたバージョン:
        1.6
      • createArrayOf

        Array createArrayOf​(String typeName,
                            Object[] elements)
                     throws SQLException
        Arrayオブジェクトを生成するファクトリ・メソッドです。

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

        注: JDBCドライバは、Object配列の要素を、Objectの指定されたクラスについてjava.sql.Typesで定義されたデフォルトのJDBC SQL型にマッピングします。 デフォルトのマッピングは、JDBC仕様の付録Bで指定されています。 結果として得られるJDBC型が指定されたtypeNameに適した型ではない場合、SQLExceptionがスローされるか、それともドライバが結果として得られる変換をサポートするかについては、実装で定義されています。

        パラメータ:
        typeName - 配列の要素がマッピングされる型のSQL名。 typeNameはデータベース固有の名前で、組込み型、ユーザー定義型、またはこのデータベースでサポートされる標準SQL型の名前のこと。 これは、Array.getBaseTypeNameで返される値
        elements - 返されるオブジェクトを生成する要素
        戻り値:
        指定されたSQL型に要素がマッピングされるArrayオブジェクト
        例外:
        SQLException - データベース・エラーが発生した場合、JDBC型がtypeNameに適しておらず、かつ変換がサポートされていない場合、typeNameがnullの場合、またはこのメソッドがクローズされた接続に対して呼び出された場合
        SQLFeatureNotSupportedException - JDBCドライバがこのデータ型をサポートしない場合
        導入されたバージョン:
        1.6
      • createStruct

        Struct createStruct​(String typeName,
                            Object[] attributes)
                     throws SQLException
        Structオブジェクトを生成するファクトリ・メソッドです。
        パラメータ:
        typeName - このStructオブジェクトがマッピングされるSQL構造化型のSQL型名。 typeNameは、このデータベースに定義されたユーザー定義型の名前。 これは、Struct.getSQLTypeNameで返される値。
        attributes - 返されるオブジェクトを生成する属性
        戻り値:
        指定されたSQL型にマッピングされ、かつ指定された属性で生成されるStructオブジェクト
        例外:
        SQLException - データベース・エラーが発生した場合、typeNameがnullの場合、またはこのメソッドがクローズされた接続について呼び出された場合
        SQLFeatureNotSupportedException - JDBCドライバがこのデータ型をサポートしない場合
        導入されたバージョン:
        1.6
      • setSchema

        void setSchema​(String schema)
                throws SQLException
        アクセスするスキーマ名を設定します。

        ドライバがスキーマをサポートしていない場合は、この要求を無視します。

        setSchemaの呼出しは、前に作成または準備されたStatementオブジェクトには影響を与えません。 ConnectionメソッドprepareStatementまたはprepareCallが呼び出されたときにDBMS準備操作がただちに実行されるかどうかは、実装で定義されます。 移植性を最大限にするには、Statementの作成または準備の前にsetSchemaを呼び出す必要があります。

        パラメータ:
        schema - 作業のためのスキーマ名
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        導入されたバージョン:
        1.7
        関連項目:
        getSchema()
      • getSchema

        String getSchema()
                  throws SQLException
        このConnectionオブジェクトの現在のスキーマ名を取得します。
        戻り値:
        現在のスキーマ名。存在しない場合はnull
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた接続について呼び出された場合
        導入されたバージョン:
        1.7
        関連項目:
        setSchema(java.lang.String)
      • abort

        void abort​(Executor executor)
            throws SQLException
        オープン接続を終了します。 abort呼出しの結果は次のとおりです。
        • 接続がクローズとマークされる
        • データベースへのすべての物理接続をクローズする
        • 接続によって使用されているリソースを解放する
        • 現在接続にアクセスしているすべてのスレッドを続行して完了させるか、SQLExceptionをスローさせる。

        abortを呼び出すと、接続がクローズとマークされ、すべてのリソースが解放されます。 クローズしている接続に対してabortを呼び出しても何も操作を行いません。

        接続によって保持されているリソースの中止と解放には、かなりの時間がかかることがあります。 abortメソッドから戻ったときに、接続はクローズとマークされますが、パラメータとしてabortに渡されたExecutorは引き続きタスクを実行し、リソースを解放している場合があります。

        このメソッドは、メソッドの続行を許可する前に、SQLPermissionオブジェクトが存在するかどうかを確認します。 SecurityManagerが存在し、そのcheckPermissionメソッドがabortの呼出しを許可しない場合、このメソッドはjava.lang.SecurityExceptionをスローします。

        パラメータ:
        executor - abortで使用されるExecutor実装。
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはexecutornullの場合
        SecurityException - セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがabortの呼出しを拒否した場合
        導入されたバージョン:
        1.7
        関連項目:
        SecurityManager.checkPermission(java.security.Permission), Executor
      • setNetworkTimeout

        void setNetworkTimeout​(Executor executor,
                               int milliseconds)
                        throws SQLException
        ConnectionまたはConnectionから作成されたオブジェクトが、データベースが任意の1つの要求に応答するのを待つ最大期間を設定します。 いずれかの要求が応答されないままの場合、待機中のメソッドがSQLExceptionで戻り、ConnectionまたはConnectionから作成されたオブジェクトがクローズとマークされます。 その後のオブジェクトの使用は、closeisClosed、またはConnection.isValidメソッドを除いて、SQLExceptionになります。

        : このメソッドは、ネットワーク・パーティションがソケット読取りでOS TCP-TIMEOUT (一般に10分)までJDBC呼出しを発行するスレッドを絶えずハング・アップさせる、めったにないが深刻な状況に対処するためのものです。 このメソッドは、JDBC接続が管理者スレッドにアクセスできる場合に、管理者スレッドに、そのようなスレッドを解放する手段を提供するabort() メソッドに関連しています。 setNetworkTimeoutメソッドは、管理者スレッドがない場合や、接続にアクセスできない状況に対処します。 このメソッドは、その効果が重大であるため、トランザクション・タイムアウトなどの通常のタイム・アウトの前にトリガーされないように、十分に大きな値を指定してください。

        JDBCドライバの実装では、ネットワークが存在しない環境で、setNetworkTimeoutメソッドをサポートし、データベース応答時間に制限を課すことを選択することもできます。

        ドライバは、複数のドライバとデータベース間の内部伝送によって、それらのAPI呼出しの一部またはすべてを内部で実装できますが、API呼び出しへの応答またはAPI呼出し時に行われた個々の要求に対し、常に制限を適用するかどうかの決定は、ドライバの実装に任されています。

        このメソッドはJDBCコードの領域に制限を設定し、この領域から出るときに、デフォルトにリセットするなど、複数回呼び出すことができます。 このメソッドの呼出しは、未処理の要求には無効です。

        Statement.setQueryTimeout()タイム・アウト値は、setNetworkTimeoutに指定されているタイム・アウト値から独立しています。 ネットワークのタイム・アウトの前に、クエリーのタイム・アウトが期限切れになると、文の実行が取り消されます。 ネットワークがまだアクティブな場合、文と接続の両方が使用可能なままになります。 ただし、クエリーのタイム・アウトの前にネットワークのタイム・アウトが期限切れになるか、ネットワークの問題のために、文のタイム・アウトが失敗した場合、接続はクローズとマークされ、接続によって保持されているすべてのリソースが解放されて、接続と文の両方が使用不可になります。

        ドライバがsetNetworkTimeoutタイム・アウト値が期限切れになったと判断すると、JDBCドライバは接続をクローズとマークして、接続によって保持されているすべてのリソースを解放します。

        このメソッドは、メソッドの続行を許可する前に、SQLPermissionオブジェクトが存在するかどうかを確認します。 SecurityManagerが存在し、そのcheckPermissionメソッドがsetNetworkTimeoutの呼出しを許可しない場合、このメソッドはjava.lang.SecurityExceptionをスローします。

        パラメータ:
        executor - setNetworkTimeoutで使用されるExecutor実装。
        milliseconds - データベース操作の完了を待機する時間(ミリ秒)。 JDBCドライバがミリ秒をサポートしていない場合、秒単位に丸められる。 操作の完了前にタイム・アウト期間が過ぎると、SQLExceptionがスローされる。 0の値はデータベース操作にタイム・アウトがないことを示す。
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、このメソッドがクローズされた接続に対して呼び出された場合、executornullである場合、またはsecondsに指定された値が0未満の場合。
        SecurityException - セキュリティ・マネージャが存在し、そのcheckPermissionメソッドがsetNetworkTimeoutの呼出しを拒否した場合。
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.7
        関連項目:
        SecurityManager.checkPermission(java.security.Permission), Statement.setQueryTimeout(int), getNetworkTimeout(), abort(java.util.concurrent.Executor), Executor
      • getNetworkTimeout

        int getNetworkTimeout()
                       throws SQLException
        ドライバがデータベース要求の完了を待つミリ秒数を取得します。 この制限を超えると、SQLExceptionがスローされます。
        戻り値:
        現在のタイム・アウト制限(秒単位)。ゼロは制限なしを意味する
        例外:
        SQLException - データベース・アクセス・エラーが発生した場合、またはこのメソッドがクローズされた次のものについて呼び出された場合: Connection
        SQLFeatureNotSupportedException - JDBCドライバがこのメソッドをサポートしない場合
        導入されたバージョン:
        1.7
        関連項目:
        setNetworkTimeout(java.util.concurrent.Executor, int)
      • beginRequest

        default void beginRequest()
                           throws SQLException
        独立した作業単位であるリクエストがこの接続から始まっていることを運転手に知らせます。 各リクエストは、クライアントまたはサーバーのいずれかの接続にローカルな状態に関する他のすべてのリクエストとは独立しています。 beginRequestendRequestのペア間で行われた作業は、別のリクエストの一部として、またはリクエストの外に接続で行われた他の作業に依存しません。 リクエストには、複数のトランザクションが含まれる場合があります。 接続にローカルではないため、コミットされたデータベースの状態に依存することがあります。

        ローカル状態は、トランスペアレントに再現できないクライアントまたはデータベース内の現在のConnectionに対してローカルなConnectionに関連付けられている状態として定義されます。

        beginRequestendRequestの呼び出しはネストされていません。 endRequestへの介入なしで、beginRequestへの複数の呼び出しはエラーではありません。 最初のbeginRequestコールはリクエストの開始を示し、後続のコールはノー・オペレーションとして扱われます

        beginRequestおよびendRequestの使用はオプションで、ベンダー固有のものであり、ほとんど透過的でなければなりません。 特に、実装は、オープン・トランザクションのような他の作業への依存を示す条件を検出することができます。 アクティブなトランザクションがあり、beginRequestが呼び出された場合、実装がSQLExceptionをスローすることは必須ではありませんが、推奨されます。 これらのメソッドを使用すると、パフォーマンスが向上したり、その他の利点が得られます。 追加情報については、ベンダーのマニュアルを参照してください。

        各作業単位をbeginRequestendRequestのペアで囲んで、リクエストの開始または終了時にオープン・トランザクションがなく、リクエスト境界をまたいだローカル状態に依存しないようにすることをお勧めします。 コミットされたデータベースの状態はローカルではありません。

        APIの注:
        このメソッドは、接続プール・マネージャで使用されます。

        プーリング・マネージャは、呼び出し元への接続を返す前に、基になる接続でbeginRequestを呼び出す必要があります。

        プーリング・マネージャは、次の場合にbeginRequestを呼び出す必要はありません:

        • 接続プールは、PooledConnectionオブジェクトをキャッシュ
        • getConnectionがアプリケーションによって呼び出されたときに論理接続ハンドルを返します。
        • 論理Connectionは、PooledConnectionをキャッシュに戻す前にConnection.closeを呼び出すことによって閉じられます。

        実装要件:
        デフォルトの実装はノー・オペレーションです。
        例外:
        SQLException - エラーが発生した場合
        導入されたバージョン:
        9
        関連項目:
        endRequest(), PooledConnection
      • endRequest

        default void endRequest()
                         throws SQLException
        独立した作業単位であるリクエストが完了したことを運転手に知らせます。 beginRequestendRequestの呼び出しはネストされていません。 beginRequestへの介入なしで、endRequestへの複数の呼び出しはエラーではありません。 最初のendRequestコールは完了したリクエストをマークし、後続のコールはノー・オペレーションとして扱われます。 endRequestbeginRequestへの初期呼び出しなしで呼び出された場合、no-opです。

        このメソッドの正確な動作は、ベンダー固有のものです。 特に、実装は、オープン・トランザクションのような他の作業への依存を示す条件を検出することができます。 アクティブなトランザクションがあり、endRequestが呼び出された場合、実装がSQLExceptionをスローすることは必須ではありませんが、推奨されます。

        APIの注:
        このメソッドは、接続プール・マネージャで使用されます。

        アプリケーションが接続プールに接続を戻すとき、プーリング・マネージャは、基礎となる接続でendRequestを呼び出す必要があります。

        プーリング・マネージャは、次の場合にendRequestを呼び出す必要はありません:

        • 接続プールは、PooledConnectionオブジェクトをキャッシュ
        • getConnectionがアプリケーションによって呼び出されたときに論理接続ハンドルを返します。
        • 論理Connectionは、PooledConnectionをキャッシュに戻す前にConnection.closeを呼び出すことによって閉じられます。

        実装要件:
        デフォルトの実装はノー・オペレーションです。
        例外:
        SQLException - エラーが発生した場合
        導入されたバージョン:
        9
        関連項目:
        beginRequest(), PooledConnection
      • setShardingKeyIfValid

        default boolean setShardingKeyIfValid​(ShardingKey shardingKey,
                                              ShardingKey superShardingKey,
                                              int timeout)
                                       throws SQLException
        この接続のシャーディング・キーを設定および検証します。 シャーディング・キーにはnullの値を指定することができます。 nullシャーディング・キーの有効性はベンダー固有です。 追加情報については、ベンダーのマニュアルを参照してください。
        APIの注:
        このメソッドは、shardingキーがConnectionに対して有効であることを検証します。 タイムアウト値は、setShardingKeyIfValidがfalseを返す前にシャーディング・キーが有効であることをConnectionが確認するのをドライバが待機する時間を示します。
        実装要件:
        デフォルトの実装では、SQLFeatureNotSupportedExceptionがスローされます。
        パラメータ:
        shardingKey - この接続に対して検証されるシャーディング・キー。 シャーディング・キーは、null
        superShardingKey - この接続に対して検証されるスーパー・シャーディング・キー。 スーパー・シャーディング・キーは、nullであってもよい。
        timeout - 検証プロセスが完了するまでの時間(秒単位)。それ以外の場合、検証プロセスは中止されます。 0の値は、検証プロセスがタイムアウトしないことを示します。
        戻り値:
        接続が有効でシャーディング・キーが有効で、この接続で設定されている場合はtrue。操作が完了する前にシャーディング・キーが有効でないか、タイムアウト期間が切れている場合はfalseです。
        例外:
        SQLException - この検証の実行中にエラーが発生した場合、superSharedingKeyshardingKeyなしで指定されます。このメソッドは閉じられたconnectionで呼び出されます。またはtimeoutの値が負の値です。
        SQLFeatureNotSupportedException - 運転手がシャーディングをサポートしていない場合
        導入されたバージョン:
        9
        関連項目:
        ShardingKey, ShardingKeyBuilder
      • setShardingKeyIfValid

        default boolean setShardingKeyIfValid​(ShardingKey shardingKey,
                                              int timeout)
                                       throws SQLException
        この接続のシャーディング・キーを設定および検証します。 シャーディング・キーにはnullの値を指定することができます。 nullシャーディング・キーの有効性はベンダー固有です。 追加情報については、ベンダーのマニュアルを参照してください。
        APIの注:
        このメソッドは、shardingキーがConnectionに対して有効であることを検証します。 タイムアウト値は、setShardingKeyIfValidがfalseを返す前にシャーディング・キーが有効であることをConnectionが確認するのをドライバが待機する時間を示します。
        実装要件:
        デフォルトの実装では、SQLFeatureNotSupportedExceptionがスローされます。
        パラメータ:
        shardingKey - この接続に対して検証されるシャーディング・キー。 シャーディング・キーは、null
        timeout - 検証プロセスが完了するまでの時間(秒単位)。そうでない場合、検証プロセスは中止されます。 0の値は、検証プロセスがタイムアウトしないことを示します。
        戻り値:
        接続が有効でシャーディング・キーがこの接続で設定されている場合はtrue。操作が完了する前にシャーディング・キーが有効でないか、タイムアウト期間が満了した場合はfalse。
        例外:
        SQLException - この検証を実行中にエラーが発生した場合、このメソッドは閉じられたconnectionで呼び出されます。またはtimeoutの値が負の値です。
        SQLFeatureNotSupportedException - 運転手がシャーディングをサポートしていない場合
        導入されたバージョン:
        9
        関連項目:
        ShardingKey, ShardingKeyBuilder
      • setShardingKey

        default void setShardingKey​(ShardingKey shardingKey,
                                    ShardingKey superShardingKey)
                             throws SQLException
        このConnectionで使用するshardingKeyおよびsuperShardingKeyを指定
        APIの注:
        このメソッドは、指定されたシャーディング・キーを設定しますが、シャーディング・キーがConnectionに対して有効であることを検証するためにデータベースへのラウンドトリップは必要ありません。
        実装要件:
        デフォルトの実装では、SQLFeatureNotSupportedExceptionがスローされます。
        パラメータ:
        shardingKey - この接続で設定するシャーディング・キー。 シャーディング・キーは、null
        superShardingKey - この接続で設定するスーパー・シャーディング・キー。 スーパー・シャーディング・キーは、null
        例外:
        SQLException - シャーディング・キーの設定にエラーが発生した場合。このメソッドは閉じられたconnectionで呼び出されます。またはsuperSharedingKeyshardingKeyなしで指定されている
        SQLFeatureNotSupportedException - 運転手がシャーディングをサポートしていない場合
        導入されたバージョン:
        9
        関連項目:
        ShardingKey, ShardingKeyBuilder
      • setShardingKey

        default void setShardingKey​(ShardingKey shardingKey)
                             throws SQLException
        このConnectionで使用するshardingKeyを指定
        APIの注:
        このメソッドは、指定されたシャーディング・キーを設定しますが、シャーディング・キーがConnectionに対して有効であることを検証するためにデータベースへのラウンドトリップは必要ありません。
        実装要件:
        デフォルトの実装では、SQLFeatureNotSupportedExceptionがスローされます。
        パラメータ:
        shardingKey - この接続で設定するシャーディング・キー。 シャーディング・キーは、null
        例外:
        SQLException - シャーディング・キーの設定にエラーが発生した場合。またはこのメソッドは閉じられたconnectionで呼び出されます
        SQLFeatureNotSupportedException - 運転手がシャーディングをサポートしていない場合
        導入されたバージョン:
        9
        関連項目:
        ShardingKey, ShardingKeyBuilder