データベースにアクセスする Java プログラムを作成するには、いくつかの重要なクラスとインターフェイスも必要です。
DriverManager クラス
DriverManager クラスは、ドライバーのロードと新しいデータベース接続の確立を処理します。 DriverManager は、データベース ドライバーを管理するために使用される java.sql パッケージ内のクラスです。通常、アプリケーションは DriverManager クラスの getConnection() 静的メソッドのみを使用してデータベースとの接続を確立し、Connection オブジェクトを返します。
静的接続 getConnection(文字列 URL, 文字列ユーザー名, 文字列パスワード)
データの URL ユーザー名とパスワードを指定して、データベース接続オブジェクトを作成します。 URL の構文形式は次のとおりです。
jdbc:<データベース接続メカニズム>:<ODBC データベース名>。
接続クラス
Connection クラスは、特定のデータベースへの接続を処理する java.sql パッケージ内のクラスです。 Connection オブジェクトは、この種のオブジェクト上で動作する Java プログラムを表すために使用されるオブジェクトです。 Connection クラスの主なメソッドは次のとおりです。
ステートメントクラス
Statement クラスは、指定された接続で SQL ステートメントを処理するために使用される java.sql パッケージ内のクラスです。データベース プログラミングのポイントは、プログラムに SQL コマンドを埋め込むことです。プログラムでは、データベースに接続するための Connection オブジェクトを宣言して作成し、そのオブジェクトをデータベースに接続させる必要があります。 DriverManager クラスの静的メソッド getConnection() を呼び出して、プログラムをデータベースに接続するための Connection オブジェクトを取得します。次に、Statement クラスを使用して SQL ステートメント オブジェクトを宣言し、Connection オブジェクトの createStatement() メソッドを呼び出して SQL ステートメント オブジェクトを作成します。たとえば、次のコードはステートメント オブジェクト sql を作成します。
ステートメント sql = null; try{ sql = con.createStatement() }catch(SQLException e){}
ResultSet クラス
SQL ステートメント オブジェクトを取得したら、ステートメント オブジェクトのexecuteQuery() メソッドを呼び出して SQL クエリを実行し、クエリ結果を ResultSet クラスで宣言されたオブジェクトに格納します。たとえば、次のコードは生徒のスコア テーブルを読み取り、格納します。それを rs オブジェクトに含めます。
ResultSet rs = sql.executeQuery("SELECT * FROM ksInfo");
ResultSet オブジェクトは、実際にはクエリ結果データを含むテーブルであり、統一された形式のデータ行で構成される筒状のデータ セットであり、1 つの行が 1 つのクエリ レコードに対応します。 ResultSet オブジェクトには暗黙的なカーソルが存在します。一度に取得できるのは、カーソルが現在指しているデータ行のみです。次のデータ行を取得するには、next メソッドを使用します。データ行のフィールド (列) 名または位置インデックス (1 から始まる) を使用して getXXX() メソッドを呼び出し、レコードのフィールド field を取得します。次に、ResultSet オブジェクトのメソッドの一部を示します。
上記のメソッドの columnIndex はフィールドの指定に使用される位置インデックスであり、columnName はフィールド名です。
ユーザーはクエリ結果セットを参照したり、前後に移動したり、結果セットの指定されたレコードを表示したりする必要があります。これはスクロール可能な結果セットと呼ばれます。スクロール可能な結果セットを取得するには、プログラムは SQL ステートメント オブジェクトを取得するときに、指定された結果セットの 2 つのパラメーターを追加するだけで済みます。たとえば、次のコード:
ステートメント stmt = con.createStatement(type,concurrency); ResultSet rs = stmt.executeQuery(SQL ステートメント)
ステートメントオブジェクト stmt の SQL クエリは、対応する型の結果セットを取得できます。
int 型パラメータの型は、スクロール可能セットのスクロール方法を決定します。
int 型パラメータの同時実行性は、データベースがスクロール可能セットと同期して更新されるかどうかを決定します。
たとえば、次のコードは接続オブジェクト connect を使用して Statement オブジェクト stmt を作成し、結果セットをスクロールできるように指定し、読み取り専用モードでデータベースを読み取ります。
stmt = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
スクロール可能なセットで一般的に使用されるその他のメソッドは次のとおりです。