Java PostgreSQLにJDBC接続してselectするサンプル

JavaでPostgreSQLにJDBC接続してselectするサンプルです。

確認環境
・Windows10
・Java 8
・Eclipse 4.8
・PostgreSQL 11.2

目次

JDBC接続してselectを実行する

PostgreSQLにJDBC接続してselectを実行するサンプルです。

package test1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Test1 {    
    public static void main(String[] args) {

        final String URL 
        = "jdbc:postgresql://127.0.0.1:5432/testdb10";
        final String USER = "postgres";
        final String PASS = "test1";
        final String SQL = "select * from syain where id =? and romaji=?;";
        
        try(Connection conn = 
                DriverManager.getConnection(URL, USER, PASS);
            PreparedStatement ps = conn.prepareStatement(SQL)){
            
            ps.setInt(1, 2);
            ps.setString(2,"tanaka");
            
            try(ResultSet rs = ps.executeQuery()){
                while (rs.next()) {
                    System.out.println(
                    	rs.getInt("id") + " " +
                    	rs.getString("name") + " " +
                        rs.getString("romaji"));
                }      
            };
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            System.out.println("処理が完了しました");
        }
    }
}

15行目は、プレースホルダを使用したSQLです。?の箇所はプレースホルダです。
17,18行目は、データベースへ接続しています。
17~19行目は、try-with-resources構文です。リソースを自動でクローズします。
21,22行目は、プレースホルダに値をセットしています。1つめの引数はプレースホルダの位置です。2つめの引数は値です。

実行時は、PostgreSQLを起動しておく必要があります。

プレースホルダ

  • SQL文中の(?)がプレースホルダです。動的に値をセットできます。
  • 入力される不正な文字を抑止できるのでSQLインジェクション対策になります。
  • 固定文字列のSQLの部分がプリコンパイルされるので実行速度が上がります。

PreparedStatement

プリコンパイルされたSQL文を表すオブジェクトです。
以下はJava8 API仕様のPreparedStatementインターフェースのリンクです。https://docs.oracle.com/javase/jp/8/docs/api/java/sql/PreparedStatement.html

 

(補足)1.接続先のデータベースとテーブルについて

PostgreSQLをインストールしデータベースとテーブルを作成します。

インストール方法は以下を参照願います。
PostgreSQLをインストールする手順(Windows)

データベースとテーブルを作成する方法は以下を参照願います。
PostgreSQL pgAdmin 4の使い方(起動からデータ参照)

(補足)2.JDBCドライバを取得する

1.PostgreSQLのJDBC ドライバを取得します。
以下のPostgreSQLのサイトにアクセスします。
https://jdbc.postgresql.org/download.html

 

2.JDBCの4.2バージョンのリンクをクリックするとダウンロードが始まります。
postgresql-42.2.5.jarを取得しました。任意の位置に配置します。

 

(補足)3.JDBCドライバをクラスパス(ビルドパス)に追加

JDBCドライバ(postgresql-42.2.5.jar)をクラスパスに追加します。
クラスパスに追加する手順は、以下を参照願います。
Eclipse 外部jarファイルをクラスパス(ビルドパス)に設定する方法

関連の記事

PostgreSQLをインストールする手順(Windows)
PostgreSQL pgAdmin 4の使い方(起動からデータ参照)

△上に戻る