Chapter 5. JDBC インタフェース

Table of Contents
5.1. JDBC ドライバのセットアップ
5.1.1. ドライバの入手
5.1.2. クラスパスの設定
5.1.3. JDBC のためのデータベースの準備
5.2. ドライバの使用
5.2.1. JDBC のインポート
5.2.2. ドライバの読み込み
5.2.3. データベースへの接続
5.2.4. 接続を閉じる
5.3. 問い合わせの発行と結果の処理
5.3.1. Statement または PreparedStatement インタフェースの使用
5.3.2. ResultSet インタフェースの使用
5.4. 更新の実行
5.5. データベースオブジェクトの作成と変更
5.6. バイナリデータの格納
5.7. PostgreSQLJDBC API への拡張
5.7.1. 拡張機能へのアクセス
5.7.2. 幾何データ型
5.7.3. ラージオブジェクト
5.8. マルチスレッドあるいはサーブレット環境におけるドライバの使用
5.9. 接続プールとデータソース
5.9.1. JDBC、JDK バージョンサポート
5.9.2. JDBC 接続プール API
5.9.3. アプリケーションサーバ: ConnectionPoolDataSource
5.9.4. アプリケーション: DataSource
5.9.5. DataSource と JNDI
5.9.6. アプリケーションサーバ構成の具体例
5.10. 今後に読むべきもの

著者: もともとは JDBC ドライバの原作者である、Peter T. Mount() によって書かれたものです。

JDBC は、Java 1.1 以降のコア API です。 SQL に準拠したデータベースへのインタフェースの標準セットを提供します。

PostgreSQL は、タイプ 4JDBC ドライバを提供しいます。 タイプ 4 とは、ドライバが Pure Java で記述され、データベース自身のネットワークプロトコルで通信を行うことを意味します。 このため、ドライバはプラットフォームに依存しません。 一度コンパイルを行えば、そのドライバはどのプラットフォームでも使用することができます。

この章は JDBC プログラミングの完全な手引きを意図していませんが、これから使い始めようという場合に役にたちます。 より詳細については、標準の JDBC API の資料を参照してください。 また、ソースに付随している例も見てください。 例にある basic はここで使用されています。[1]

5.1. JDBC ドライバのセットアップ

5.1.1. ドライバの入手

コンパイルされたドライバのバージョンは、PostgreSQL JDBC の Webサイト から入手できます。

また、ソースからドライバを構築することもできますが、これを行う必要があるのはソースコードに変更を加える場合のみです。詳細については、PostgreSQL のインストール手順を参照してください。インストール後、ドライバが PREFIX/share/java/postgresql.jar に作成されているはずです。 作成されるドライバは実行した Java のバージョンに合わせられます。JDK 1.1 を使用する場合は、JDBC 1 仕様をサポートするバージョンが作成され、Java 2 JDK (JDK 1.2 または JDK 1.3 など) を使用する場合は、JDBC 2 をサポートするバージョンが作成されます。

5.1.2. クラスパスの設定

ドライバを使うためには、JAR ファイル (ソースからコンパイルした場合は postgresql.jar、さもなくば、それぞれ JBDC 1、JBDC 2 バージョンである、jdbc7.2-1.1.jar または jdbc7.2-1.2.jar) をクラスパスに含む必要があります。 そのためには、CLASSPATH 環境変数が指す場所に置くか、java コマンドのオプションで指定します。

例として、天体データを含む巨大なデータベースにアクセスするために、JDBC ドライバを使うアプリケーションがあるとします。 このアプリケーションと JDBC ドライバを /usr/local/lib ディレクトリに、また、Java JDK/usr/local/jdk1.3.1 ディレクトリにインストールします。 この場合、このアプリケーションを実行するには次のようにします。

export CLASSPATH=/usr/local/lib/finder.jar(1):/usr/local/pgsql/share/java/postgresql.jar:.
java Finder

(1)
finder.jar には、この Finder アプリケーションが含まれます。

アプリケーションの中からドライバを読み込むことについては、Section 5.2 に示します。

5.1.3. JDBC のためのデータベースの準備

Java は TCP/IP 接続しか使用しませんので、PostgreSQL サーバは TCP/IP 接続を受け入れるように構成しなければなりません。 この構成は postgresql.conf ファイルで tcpip_socket = true と設定するか、postmaster の起動時に -i オプションを与えることで可能になります。

また、pg_hba.conf ファイルによるクライアント認証の設定が必要かもしれません。 詳細は 管理者用ガイド を参照してください。JDBC ドライバは、trust、ident、password、md5、crypt の認証方法をサポートします。

Notes

[1]

訳注:src/interfaces/jdbc/example/basic.java のことです