JavaTM 2 Platform
Std. Ed. v1.3

java.sql
インタフェース Connection


public interface Connection

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

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

注: 各文を実行後、デフォルトでは、Connection は自動的に変更をコミットします。自動コミットが無効にされている場合は、メソッド commit を明示的に呼び出さないと、データベースの変更は保存されません。

関連項目:
DriverManager.getConnection(java.lang.String, java.util.Properties), Statement, ResultSet,

Methods that are new in the JDBC 2.0 API are tagged @since 1.2.


フィールドの概要
static int TRANSACTION_NONE
          トランザクションがサポートされていないことを示します。
static int TRANSACTION_READ_COMMITTED
          ダーティー読み取りは抑制されます。
static int TRANSACTION_READ_UNCOMMITTED
          ダーティー読み取り、繰り返し不可の読み取り、およびファントム読み取りが起こります。
static int TRANSACTION_REPEATABLE_READ
          ダーティー読み取りおよび繰り返し不可の読み取りが抑制されます。
static int TRANSACTION_SERIALIZABLE
          ダーティー読み取り、繰り返し不可の読み取り、およびファントム読み取りが抑制されます。
 
メソッドの概要
 void clearWarnings()
          この Connection オブジェクトに関して通知されたすべての警告をクリアします。
 void close()
          自動的な解除を待たずに、ただちに Connection のデータベースと JDBC リソースを解除します。
 void commit()
          直前のコミット/ロールバック以降に行われた変更をすべて有効とし、Connection が現在保持するデータベースロックをすべて解除します。
 Statement createStatement()
          SQL 文をデータベースに送るための Statement オブジェクトを生成します。
 Statement createStatement(int resultSetType, int resultSetConcurrency)
          指定されたタイプと並行処理で ResultSet オブジェクトを生成する Statement オブジェクトを生成します。
 boolean getAutoCommit()
          現在の自動コミットの状態を取得します。
 String getCatalog()
          Connection の現在のカタログ名を返します。
 DatabaseMetaData getMetaData()
          この接続のデータベースに関するメタデータを取得します。
 int getTransactionIsolation()
          この Connection の現在のトランザクション遮断レベルを取得します。
 Map getTypeMap()
          この接続に関連した型マップオブジェクトを取得します。
 SQLWarning getWarnings()
          この Connection に関する呼び出しによって通知された最初の警告を返します。
 boolean isClosed()
          Connection がクローズされているかどうかを判定します。
 boolean isReadOnly()
          Connection が読み込み専用モードかどうかを判定します。
 String nativeSQL(String sql)
          指定された SQL 文をシステムの本来の SQL 文法に変換します。
 CallableStatement prepareCall(String sql)
          データベースのストアドプロシージャを呼び出すための CallableStatement オブジェクトを生成します。
 CallableStatement prepareCall(String sql, int resultSetType, int resultSetConcurrency)
          指定されたタイプと並行処理で ResultSet オブジェクトを生成する CallableStatement オブジェクトを生成します。
 PreparedStatement prepareStatement(String sql)
          パラメータ付き SQL 文をデータベースに送るための PreparedStatement オブジェクトを作成します。
 PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency)
          指定されたタイプと並行処理で ResultSet オブジェクトを生成する PreparedStatement オブジェクトを生成します。
 void rollback()
          直前のコミット/ロールバック以降に行われた変更をすべて無効とし、この Connection が現在保持するデータベースロックをすべて解除します。
 void setAutoCommit(boolean autoCommit)
          この接続の自動コミットモードを設定します。
 void setCatalog(String catalog)
          この Connection のデータベースに作業のためのサブスペースを選択するために、カタログ名を設定します。
 void setReadOnly(boolean readOnly)
          この Connection を読み込み専用モードに設定して、データベース最適化を実行するヒントとします。
 void setTransactionIsolation(int level)
          トランザクション遮断レベルを指定されたものに変更することを試みます。
 void setTypeMap(Map map)
          この接続の型マップとして指定された型マップをインストールします。
 

フィールドの詳細

TRANSACTION_NONE

public static final int TRANSACTION_NONE
トランザクションがサポートされていないことを示します。

TRANSACTION_READ_UNCOMMITTED

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

TRANSACTION_READ_COMMITTED

public static final int TRANSACTION_READ_COMMITTED
ダーティー読み取りは抑制されます。繰り返し不可の読み取りおよびファントム読み取りは起こります。このレベルは、コミットされていない変更がある行をトランザクションが読み取ることを禁止するだけです。

TRANSACTION_REPEATABLE_READ

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

TRANSACTION_SERIALIZABLE

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

createStatement

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

返される Statement オブジェクトを使って作成された結果セットは、デフォルトでは、順方向専用タイプで、読み取り専用の並行処理ができます。

戻り値:
新しい Statement オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合

prepareStatement

public PreparedStatement prepareStatement(String sql)
                                   throws SQLException
パラメータ付き SQL 文をデータベースに送るための PreparedStatement オブジェクトを作成します。 IN パラメータ付きまたは IN パラメータなしの SQL 文は、プリコンパイルして、PreparedStatement オブジェクトに格納できます。したがって、このオブジェクトは、この文を複数回、効率的に実行するのに使用できます。

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

パラメータ:
sql - 1 つ以上の '?' IN パラメータプレースホルダーを含めることができる SQL 文
戻り値:
プリコンパイルされた文を含む新しい PreparedStatement オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合

prepareCall

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

注: このメソッドは、ストアドプロシージャ呼び出し文を処理するために最適化されています。ドライバによっては、prepareCall メソッドが実行されるときにデータベースに呼び出し文を送るものがあります。その他のドライバは、CallableStatement オブジェクトが実行されるまで待ちます。これはユーザに直接的な影響はありませんが、どのメソッドが、どの SQLException をスローしたかに関して影響があります。 返される CallableStatement を使って作成された結果セットは、デフォルトでは、順方向専用タイプで、読み取り専用の並行処理ができます。

パラメータ:
sql - 1 つ以上の '?' パラメータプレースホルダーを含めることができる SQL 文。通常この文は、JBDC 関数呼び出しのエスケープ文字列である
戻り値:
プリコンパイルされた SQL 文を含む新しい CallableStatement オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合

nativeSQL

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

setAutoCommit

public void setAutoCommit(boolean autoCommit)
                   throws SQLException
この接続の自動コミットモードを設定します。接続が自動コミットモードの場合、そのすべての SQL 文は実行され、個別のトランザクションとしてコミットされます。そうでない場合、その SQL 文は、commit メソッドまたは rollback メソッドへの呼び出しによって終了されるトランザクションにグループ化されます。デフォルトでは、新しい接続は自動コミットモードです。 コミットは、文の完了または次の実行の発生のどちらが先に起こっても発生します。文が、ResultSet を返す場合には、ResultSet の最後の行が取り出されるかクローズされたときに文は完了します。進んだ用法では、単一の文が出力パラメータと同様に、複数の結果を返すこともあります。この場合は、すべての結果と出力パラメータ値が取り出された時にコミットが発生します。
パラメータ:
autoCommit - true の場合は自動コミットが有効、false の場合は自動コミットが無効
例外:
SQLException - データベースアクセスエラーが発生した場合

getAutoCommit

public boolean getAutoCommit()
                      throws SQLException
現在の自動コミットの状態を取得します。
戻り値:
現在の自動コミットモードの状態
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
setAutoCommit(boolean)

commit

public void commit()
            throws SQLException
直前のコミット/ロールバック以降に行われた変更をすべて有効とし、Connection が現在保持するデータベースロックをすべて解除します。このメソッドは、自動コミットモードが無効にされているときにのみ使用します。
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
setAutoCommit(boolean)

rollback

public void rollback()
              throws SQLException
直前のコミット/ロールバック以降に行われた変更をすべて無効とし、この Connection が現在保持するデータベースロックをすべて解除します。このメソッドは、自動コミットモードが無効にされているときにのみ使用します。
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
setAutoCommit(boolean)

close

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

注: Connection は、ガベージコレクトされるときに自動的にクローズされます。特定の致命的エラーでは、結果的に Connection をクローズすることになります。

例外:
SQLException - データベースアクセスエラーが発生した場合

isClosed

public boolean isClosed()
                 throws SQLException
Connection がクローズされているかどうかを判定します。
戻り値:
Connection がクローズされている場合は true、まだオープンの状態の場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合

getMetaData

public DatabaseMetaData getMetaData()
                             throws SQLException
この接続のデータベースに関するメタデータを取得します。Connection のデータベースは、テーブル、サポートしている SQL 文法、ストアドプロシージャ、およびこの接続の能力などを記述する情報を提供します。この情報は、DatabaseMetaData オブジェクトから取得します。
戻り値:
この Connection に対する DatabaseMetaData オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合

setReadOnly

public void setReadOnly(boolean readOnly)
                 throws SQLException
この Connection を読み込み専用モードに設定して、データベース最適化を実行するヒントとします。

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

パラメータ:
readOnly - true の場合は読み込み専用モードが有効、false の場合は読み込み専用モードが無効
例外:
SQLException - データベースアクセスエラーが発生した場合

isReadOnly

public boolean isReadOnly()
                   throws SQLException
Connection が読み込み専用モードかどうかを判定します。
戻り値:
Connection が読み込み専用モードの場合は true、そうでない場合は false
例外:
SQLException - データベースアクセスエラーが発生した場合

setCatalog

public void setCatalog(String catalog)
                throws SQLException
この Connection のデータベースに作業のためのサブスペースを選択するために、カタログ名を設定します。ドライバがカタログをサポートしていない場合は、この要求を無視します。
例外:
SQLException - データベースアクセスエラーが発生した場合

getCatalog

public String getCatalog()
                  throws SQLException
Connection の現在のカタログ名を返します。
戻り値:
現在のカタログ名または null
例外:
SQLException - データベースアクセスエラーが発生した場合

setTransactionIsolation

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

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

パラメータ:
level - TRANSACTION_NONE を除く TRANSACTION_* 遮断値の 1 つ。データベースによっては、ほかの値をサポートしないものがある
例外:
SQLException - データベースアクセスエラーが発生した場合
関連項目:
DatabaseMetaData.supportsTransactionIsolationLevel(int)

getTransactionIsolation

public int getTransactionIsolation()
                            throws SQLException
この Connection の現在のトランザクション遮断レベルを取得します。
戻り値:
現在の TRANSACTION_* モード値
例外:
SQLException - データベースアクセスエラーが発生した場合

getWarnings

public SQLWarning getWarnings()
                       throws SQLException
この Connection に関する呼び出しによって通知された最初の警告を返します。

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

戻り値:
最初の SQLWarning または null
例外:
SQLException - データベースアクセスエラーが発生した場合

clearWarnings

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

createStatement

public Statement createStatement(int resultSetType,
                                 int resultSetConcurrency)
                          throws SQLException
指定されたタイプと並行処理で ResultSet オブジェクトを生成する Statement オブジェクトを生成します。このメソッドは上記の createStatement メソッドと同じですが、デフォルトの結果セットのタイプおよび結果セットの並行処理の種類をオーバーライドできます。
パラメータ:
resultSetType - 結果セットのタイプ。ResultSet.TYPE_XXX を参照
resultSetConcurrency - 並行処理の種類。ResultSet.CONCUR_XXX を参照
戻り値:
新しい Statement オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2
関連項目:
「JDBC 2.0 API に含まれるもの」

prepareStatement

public PreparedStatement prepareStatement(String sql,
                                          int resultSetType,
                                          int resultSetConcurrency)
                                   throws SQLException
指定されたタイプと並行処理で ResultSet オブジェクトを生成する PreparedStatement オブジェクトを生成します。このメソッドは上記の prepareStatement メソッドと同じですが、デフォルトの結果セットのタイプおよび結果セットの並行処理の種類をオーバーライドできます。
パラメータ:
resultSetType - 結果セットのタイプ。ResultSet.TYPE_XXX を参照
resultSetConcurrency - 並行処理の種類。ResultSet.CONCUR_XXX を参照
戻り値:
プリコンパイルされた SQL 文を含む新しい PreparedStatement オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2
関連項目:
「JDBC 2.0 API に含まれるもの」

prepareCall

public CallableStatement prepareCall(String sql,
                                     int resultSetType,
                                     int resultSetConcurrency)
                              throws SQLException
指定されたタイプと並行処理で ResultSet オブジェクトを生成する CallableStatement オブジェクトを生成します。このメソッドは上記の prepareCall メソッドと同じ様ですが、デフォルトの結果セットのタイプおよび結果セットの並行処理の種類をオーバーライドできます。
パラメータ:
resultSetType - 結果セットのタイプ。ResultSet.TYPE_XXX を参照
resultSetConcurrency - 並行処理の種類。ResultSet.CONCUR_XXX を参照
戻り値:
プリコンパイルされた SQL 文を含む新しい CallableStatement オブジェクト
例外:
SQLException - データベースアクセスエラーが発生した場合
導入されたバージョン:
1.2
関連項目:
「JDBC 2.0 API に含まれるもの」

getTypeMap

public Map getTypeMap()
               throws SQLException
この接続に関連した型マップオブジェクトを取得します。アプリケーションが型マップにエントリを追加していない限り、空のマップが返されます。
戻り値:
この Connection オブジェクトに関連した java.util.Map オブジェクト
導入されたバージョン:
1.2
関連項目:
「JDBC 2.0 API に含まれるもの」

setTypeMap

public void setTypeMap(Map map)
                throws SQLException
この接続の型マップとして指定された型マップをインストールします。型マップは、SQL 構造化型および個別の型のカスタムマッピングに使用されます。
パラメータ:
the - この Connection オブジェクトのデフォルトの型マップの代わりとしてインストールする java.util.Map オブジェクト
導入されたバージョン:
1.2
関連項目:
「JDBC 2.0 API に含まれるもの」

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.