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ドライバを選択すると、自動的にインストールされます。