Java から PostgreSQL JDBC Driver を使って PostgreSQL に接続するプログラムの作成方法について説明します。
環境は CentOS 7 または 8、PostgreSQL 9.6 以降を対象とし、PostgreSQL に接続できる状態になっていることを前提とします。PostgreSQL のインストールや設定がまだであれば、インストール方法は こちらの記事、ローカルホスト以外からの接続受けつけに必要な設定方法は こちらの記事 を参照してください。
-
Java、PostgreSQL JDBC Driver をインストールします。
$ sudo yum -y install java-1.8.0-openjdk-devel postgresql-jdbc (省略) Complete!
-
プログラムを作成します。
プログラムの内容はデータベースの一覧を出力するというものです。エラー処理は行っていません。
TestJDBC.javaimport 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
にはパスワードを指定します。ご自身の環境に合わせて書き替えてください。 -
プログラムをビルドします。
$ javac TestJDBC.java
エラーメッセージが出力されず、クラスファイル
TestJDBC.class
が生成されれば、プログラムのビルドは成功です。 -
プログラムを実行します。
$ java -cp .:/usr/share/java/postgresql-jdbc.jar TestJDBC postgres template1 template0
-cp
オプションにはコロン:
区切りでクラスファイル格納先のパスを指定します。ここではカレントディレクトリと PostgreSQL JDBC Driver の jar ファイルを指定しています。エラーメッセージが出力されず、データベースの一覧が出力されれば、プログラムの実行は成功です。
以上でプログラムの作成は完了です。