JDBCドライバのダウンロード
次のリンク先でJDBCドライバをダウンロードできます。
最新版をダウンロードします。
これで『postgresql-9.4.1210.jre6.jar』ファイルを取得できました。
Javaプロジェクトの作成とJARファイルの読み込み設定
次はJavaのサンプルプロジェクトを作成して動かしてみます。プロジェクト名にDBTestを入力して後はデフォルト値のまま作成します。
プロジェクト作成後は、プロジェクトフォルダ配下にlibフォルダを作成します。先ほどダウンロードしたjarファイルをlibフォルダ内に格納します。
続いてJarファイルの読み込み設定です。プロジェクトフォルダを右クリックしてPropertiesを選択します。
Java Build Pathを選択してLibraryタブをクリックします。そこのAdd External JARsボタンから設定を行います。
先程のJARファイルを選択します。
最後にOKボタンをクリックして変更を反映させます。これでJARファイルの読み込み設定が完了しました。
データベースとテーブルの準備
まずはデータベースの作成から
CREATE DATABASE javasample;
次のコマンドで実際に作成されていることを確認できます。
\l
続いてbookテーブルを作成
CREATE TABLE book ( id text PRIMARY KEY, name text, price integer );
サンプルデータの準備
サンプルデータ登録用のINSERT文はこんな感じ。日本語入力したら???に変換されてうまく実行できなかったので今回は英語表記。
INSERT INTO book (id, name, price) VALUES ('001', 'Encyclopedia', 2000), ('002', 'Novel', 1000), ('003', 'Comic', 500), ('004', 'Business Books', 500), ('005', 'Technical Book', 3000);
次のSELECT文でデータが登録されていることを確認できると思います。
SELECT * FROM book;
これでサンプルデータの準備も完了です。
Javaからクエリを実行するときのサンプル
package jp.co.bbreak.sokusen._3._4; import java.sql.*; public class SelectSample { public static void main(String[] args) { // データベースへの接続情報を格納する変数 Connection conn = null; // JDBCドライバの読み込み try { // postgreSQLのJDBCドライバを読み込み Class.forName("org.postgresql.Driver"); } catch(ClassNotFoundException e) { // JDBCドライバが見つからない場合 e.printStackTrace(); } try { // 1. データベースへの接続 conn = DriverManager.getConnection("jdbc:postgresql:javasample", "postgres", "pass"); // 2. SELECT文の発光と結果の取得 // Statementオブジェクトを生成 Statement stmt = conn.createStatement(); // SELECT文の発行と検索結果を格納する ResultSet rset = stmt.executeQuery("SELECT * FROM book"); // 3. 結果の表示 while (rset.next()) { System.out.println(rset.getString("name")); } } catch(SQLException e) { // 接続、SELECT文の発行でエラーが発生した場合 e.printStackTrace(); } finally { // 4.データベース接続の切断 if (conn != null) { try { conn.close(); conn = null; } catch (SQLException e) { // データベース接続の切断でエラーが発生した場合 e.printStackTrace(); } } } } }
これで動くはずですが、Exceptionエラーが発生しました。
FATAL: password authentication failed for user "postgres"
解決したら追記します。