JDBCとは、Java DataBase Connectivityの略で、JavaからデータベースをアクセスするためAPIです。 また、JDBCは、トレードマーク(TM)にもなっています。
JDBCの主な機能を以下に示します。
機能 | Javaオブジェクト |
---|---|
データベースとの接続 | java.sql.DriverManager java.sql.Connection |
SQL文の実行 データベースの検索(SELECT) データベースの更新(INSERT, UPDATE, DELETE) |
java.sql.Statement java.sql.PreparedStatement java.sql.CallableStatement |
SQLの実行結果へのアクセス | java.sql.ResultSet |
JDBCを使うことにより、データベースに依存しないインタフェースでアクセスできます。 ただし、SQLは規格化されていますが、データベースによって機能拡張などが行われています。 そのため、JDBCには、以下の機能で、データベースへの依存性を減らしています。
また、JDBCは、Javaで記述されているため、ネットワークからダウンロードできます。
JDBCドライバは、実装方法により、以下の4種類があります。
JDBCドライバは、データベースによって対応状況が異なります。
JDBCで接続する場合は、以下のURLでアクセスします。
・PostgreSQLの場合 jdbc:postgresql:[//ホスト名[:ポート番号]/]DB名 ・Oracle(タイプ4)の場合 jdbc:oracle:thin:@ホスト名:ポート番号:オラクルSID |
トランザクションとは、データベースを更新する単位のことです。
JDBCでは、自動COMMIT機能により、1つ1つのSQL文をトランザクションとして処理します。
そのため、複数のSQL文でトランザクションを構成する場合には、この機能をFALSE(OFF)にして、プログラムで、COMMITやROLLBACKをする必要があります。
db = DriverManager.getConnection(url, usr, pwd); st = db.createStatement(); try { st.executeUpdate("SQL文1"); st.executeUpdate("SQL文2"); .......... db.commit(); } catch (Exception ex) { db.rollback(); } |
PostgreSQLには、JavaクライアントからアクセスするためのJDBCドライバが付属しています。
JDBCドライバをメイクするためには、JDKがインストールされている必要があります。
開発ツールとしては、GNU make、GNU C、bison、flexが必要です。
Postgre7.1以降では、Javaベースのメイクツールのantも必要になりました。
JDBCドライバをインストールする場合は、以下の設定をします。
・PostgreSQL7.1以降の場合 unix# configure --with-java unix# make unix# make install ・PostgreSQL7.0以前の場合 unix# cd src/interfaces/jdbc unix# setenv CLASSPATH "${CLASSPATH}:." unix# make unix# mkdir -p /usr/local/pgsql/share/java unix# cp postgresql.jar /usr/local/pgsql/share/java/. |
JDBCドライバを使うためには、各個人の環境にCLASSPATHの設定が必要です。
unix# setenv CLASSPATH "${CLASSPATH}:/usr/local/pgsql/share/java/postgresql.jar" |
Oracleの場合、インストーラのメニューでJDBCドライバの選択ができます。 JDBCドライバを選択すると、自動的にインストールされます。