LoginSignup
3
4

More than 1 year has passed since last update.

Java から PostgreSQL JDBC Driver を使って PostgreSQL に接続してみる

Last updated at Posted at 2021-08-14

Java から PostgreSQL JDBC Driver を使って PostgreSQL に接続するプログラムの作成方法について説明します。

環境は CentOS 7 または 8、PostgreSQL 9.6 以降を対象とし、PostgreSQL に接続できる状態になっていることを前提とします。PostgreSQL のインストールや設定がまだであれば、インストール方法は こちらの記事、ローカルホスト以外からの接続受けつけに必要な設定方法は こちらの記事 を参照してください。

  1. Java、PostgreSQL JDBC Driver をインストールします。

    $ sudo yum -y install java-1.8.0-openjdk-devel postgresql-jdbc
    (省略)
    Complete!
    
  2. プログラムを作成します。

    プログラムの内容はデータベースの一覧を出力するというものです。エラー処理は行っていません。

    TestJDBC.java
    import java.sql.*;
    
    class TestJDBC {
    
        public static void main(String[] args) throws Exception {
            Class.forName("org.postgresql.Driver");
            String url = "jdbc:postgresql://localhost:5432/postgres";
            String username = "postgres";
            String password = "password";
            Connection conn = DriverManager.getConnection(url, username, password);
            Statement st = conn.createStatement();
            ResultSet rs = st.executeQuery("SELECT datname FROM pg_database");
            while (rs.next()) {
                System.out.println(rs.getString(1));
            }
            rs.close();
            st.close();
            conn.close();
        }
    }
    

    変数の url には jdbc:postgresql://ホスト:ポート/データベース 形式で接続先、username にはユーザ名、password にはパスワードを指定します。ご自身の環境に合わせて書き替えてください。

  3. プログラムをビルドします。

    $ javac TestJDBC.java
    

    エラーメッセージが出力されず、クラスファイル TestJDBC.class が生成されれば、プログラムのビルドは成功です。

  4. プログラムを実行します。

    $ java -cp .:/usr/share/java/postgresql-jdbc.jar TestJDBC
    postgres
    template1
    template0
    

    -cp オプションにはコロン : 区切りでクラスファイル格納先のパスを指定します。ここではカレントディレクトリと PostgreSQL JDBC Driver の jar ファイルを指定しています。

    エラーメッセージが出力されず、データベースの一覧が出力されれば、プログラムの実行は成功です。

以上でプログラムの作成は完了です。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4