Java8 PostgreSQLへ接続する方法

環境
Windows 10
PostgreSQL 9.6
Java 1.8
Eclipse 4.14

構成
JDBCドライバ
postgresql-42.6.0.jar

ダウンロードサイト
https://jdbc.postgresql.org/

jarファイルを追加します
1.プロジェクトを右クリックして「プロパティ(R)」をクリックします。
2.左側の「ビルド・パス」を選択します。
3.「ライブラリー」タブの「外部JAR追加」を選択し、ダウンロードたPostgreSQL JDBCを追加する。

説明
1.PostgreSQLへの接続
jdbc:postgresql://<接続先DBサーバのIP or ホスト名>:<DBのポート番号>/<DB名>;
2. executeQuery(SQL文字列)
SELECT文の結果受け取りには「ResultSet」クラスが使われます。
3.executeUpdate(SQL文字列);
SQL文を実行します。
自動コミットがOFFの場合、commit()メソッドによりコミットします。

使用例

package com.arkgame.study;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class PostgreTest {

      // 接続文字列 IP/ホスト名:DBのポート番号/DB名
      private final static String URL = "jdbc:postgresql://127.0.0.1:5432/arkDB";
      // ユーザー名
      private final static String USER = "arkuser";
      // パスワード
      private final static String PWD = "arkpwd";

      public static void main(String[] args) {

            Connection conn = null;
            Statement stmt = null;
            ResultSet rs = null;

            try {
                  // PostgreSQLへ接続
                  conn = DriverManager.getConnection(URL, USER, PWD);

                  // 自動コミットOFF
                  conn.setAutoCommit(false);

                  // SELECT文の実行
                  stmt = conn.createStatement();
                  String strSql = "SELECT 1";
                  // 検索SQLを実行する
                  rs = stmt.executeQuery(strSql);

                  // SELECT結果の受け取り
                  while (rs.next()) {
                        String col = rs.getString(1);
                        System.out.println(col);
                  }
                  // INSERT文の実行
                  strSql = "INSERT INTO test_tbl VALUES (1001, 'arkgame')";
                  // SQL構文を実行
                  stmt.executeUpdate(strSql);
                  System.out.println("データに挿入成功です");
                  // コミット
                  conn.commit();
            } catch (SQLException e) {
                  e.printStackTrace();
            } finally {
                  try {
                        if (rs != null)
                              rs.close();
                        if (stmt != null)
                              stmt.close();
                        if (conn != null)
                              conn.close();
                  } catch (SQLException e) {
                        e.printStackTrace();
                  }

            }
      }
}

実行結果

コンソール画面に下記メッセージを出力します。
1
データに挿入成功です

テーブル「test_tbl」に「1001,'arkgame'」レコードを挿入しました。

 

Java

Posted by arkgame