【Java入門】PostgreSQL(pgAdmin4)+Eclipseでデータベース・テーブル操作

スポンサーリンク

こんにちは。いつもブログをご覧いただきありがとうございます。

今回は「PostgreSQL(pgAdmin4)+Eclipseでデータベース・テーブル操作」を解説していきます。

しーま
しーま

・前半ではPostgreSQLのダウンロード・インストールについて解説します。

・後半ではpgAdmin4を使用してデータベース・テーブルの作成、Eclipseを使用してデータ操作方法について解説します。

構築予定の環境になります。

OSWindows 10 Home(64ビット版)
JavaOpen JDK 11
IDEEclipse 2019-06
DBPostgreSQL 11
RDBMSpgAdmin 4

それでは、さっそく解説していきます。

MidWorks は業界トップクラスの低マージンで多くのエンジニアから選ばれています。IT系フリーランス専門エージェントサービス第1位のMidWorks の無料会員登録はこちらから!!

PostgreSQLのダウンロード

まずはPostgreSQLをダウンロードします。

公式サイト(https://www.postgresql.org/download)よりPostgreSQL ver11 をダウンロードします。

PostgreSQL

OS毎(Linux,macOS,Windows,他)にリンクが分かれています。

Windowsで使用するため、一番下のリンクを選択しましょう。

PostgreSQL

Windows installer画面に遷移したら「Download the installer」という文字がリンクになっています。

これを選択します。

PostgreSQL

ダウンロードするリンクがバージョン毎に分かれています。

今回は、バージョンは11.5を使用します。

そして、Windowsの64ビット版になるため「Windows x86-64」を選択します。

ダウンロードが完了したら「postgresql-11.5-2-windows-x64.exe」というファイルが保存されているはずです。

PostgreSQLのインストール

先ほど、ダウンロードした「postgresql-11.5-2-windows-x64.exe」を管理者として実行します。

Setup

PostgreSQL

インストールを開始する画面です。「Next」ボタンをクリックします。

Installation Directory

PostgreSQL

インストール格納場所を設定します。
デフォルトでは「C:\Program Files¥PostgreSQL\11」となっています。
ドライブの容量などを確認し、適切な場所にインストールしましょう。

Select Components

PostgreSQL

インストールする対象を選ぶことができます。
デフォルトでは全てチェックが付いています。
PostgreSQL Serverとpg Admin 4は必須です。
Stack BuilderとCommand Line Toolsは任意でチェックします。

Data Directory

PostgreSQL

インストール格納場所を「D:\PostgreSQL\11」としているのでそこにdataフォルダが付与していることが分かりますね。

Password

PostgreSQL

データベース接続時など、パスワードを求められる機会は少なからずあります。
忘れずに。。。

Port

PostgreSQL

デフォルトでは「5432」になります。
他プロセスのポート番号と被らないように設定する必要があります。
特に指定する必要がなければデフォルトのポート番号にしておきましょう。

Advanced Options

PostgreSQL

今回はサンプルのためにインストールするため、このまま(デフォルト)で進めます。

Pre Installation Summary

PostgreSQL

インストールする内容が表示されています。
問題がなければ、「Next」ボタンをクリックします。

Ready to Install

PostgreSQL

「Next」ボタンをクリックします。

インストール完了です(拍手)

pgAdmin4でデータベース作成

データベースからデータを使用するには以下の3つの作成が必要となります。

  1. サーバーの作成
  2. データベースの作成
  3. テーブルの作成

この3つの作成についてpgAdmin 4というGUIツールを使用していきます。

PostgreSQL11からpgAdmin4をクリックします。

pgAdminが起動したら、まずサーバーを作成していきます。

メニューの【Servers】を選択して右クリックします。そしてCreate ⇒ Serverをクリックします。

【General】タブよりName項目に任意の名前を入力していきます。今回は【sampleserver】と入力します。

次に【Connection】タブよりHost / Port / Username / Password を入力していきます。Hostの入力は、自分のパソコンで作業を行う場合は 127.0.0.1 や localhost と入力することで使用可能となります。入力が完了したら【Save】ボタンをクリックします。

サーバーを作成したら、次はデータベースを作成していきます。先ほど作成した「sampleserver」の【Databases】を右クリックします。Create ⇒ Database をクリックします。

【General】タブのDatabase項目に任意の名前を入力します。今回はデータベース名を「sampledb」と入力します。

sampledbが作成されたら下記のような構成になります。次にテーブルを作成していきます。

sampledb ⇒ Schemas ⇒ Tables にて右クリックします。その後、Create ⇒ Tableを選択します。

【General】タブのName項目に任意の名前を入力します。今回はテーブル名を「team_list」と入力します。

次は【Columns】タブにてカラムを追加していきます。追加が終わったら Save ボタンをクリックします。

テーブル(team_list)が作成できたら、データを追加していきましょう。先ほど作成した team_list で右クリックします。View/Edit Data ⇒ All Rows をクリックします。

任意に入力して、保存(コミット)します。

Eclipseからデータベースを操作(Select編)

データベース・テーブル作成、そしてデータ投入まで完了しました。

準備が整いましたので、テーブルに接続・データ取得するプログラムを作成していきます。

使用するサンプルプログラムはこちらになります。

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

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

        // 接続文字列の設定
        String url = "jdbc:postgresql://localhost:5432/sampledb" ;
        String user = "postgres" ;
        String password = "password" ;

        // SELECT文の作成・実行
        String sql = "SELECT * from team_list" ;

        // PostgreSQLに接続
        try (Connection con = DriverManager.getConnection ( url, user, password );
                Statement stmt = con.createStatement();
                ResultSet result = stmt.executeQuery ( sql ); ) {

            // 実行結果の取得
            while ( result.next() ) {
                String col1 = result.getString ( 1 ) ;
                String col2 = result.getString ( 2 ) ;
                String col3 = result.getString ( 3 ) ;
                System.out.println ( col1 + " " + col2 + " " + col3 ) ;
            }
        } catch ( SQLException e ) {
          e.printStackTrace() ;
      }
    }
}

実行結果は以下のようになります。先ほど作成したテーブルからデータを取得できていることがわかります。

1 チームA 沖縄県
2 チームB 東京都
3 チームC 大阪府

上記プログラムを簡単に説明しますね!

データベース操作を行う場合、下記3つのインタフェースを使用します。

インタフェース名用途
java.sql.Connectionデータベースへの接続
java.sql.Statement接続DBへの問い合わせ
java.sql.ResultSet接続DBから該当する結果を取得
// PostgreSQLに接続
try (Connection con = DriverManager.getConnection ( url, user, password );
  Statement stmt = con.createStatement();
  ResultSet result = stmt.executeQuery ( sql ); ) {

今回は、Java 7 からtry-with-resource文が導入されたため、tryブロック内に記述しています。

そのため、finallyブロックでクローズ処理などが不要になりました。

Eclipseからデータベースを操作(Insert編)

使用するサンプルプログラムはこちらになります。

以下のデータベース・テーブルに対してデータを登録します。

データベース名sampledb
テーブル名team_list
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

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

        // 接続文字列の設定
        String url = "jdbc:postgresql://localhost:5432/sampledb" ;
        String user = "postgres" ;
        String password = "password" ;

        // SELECT文の作成・実行
        String sql = "INSERT INTO team_list VALUES(?,?,?)" ;

        // PostgreSQLに接続
        try (Connection con = DriverManager.getConnection ( url, user, password ) ;
                PreparedStatement pstmt = con.prepareStatement(sql); ) {

            pstmt.setInt(1, 4);
            pstmt.setString(2, "チームD");
            pstmt.setString(3, "北海道");

            int count = pstmt.executeUpdate();
            System.out.println( count + "件 登録しました" );

        } catch ( SQLException e ) {
          e.printStackTrace() ;
      }
    }
}

Eclipseのコンソールタブに実行結果が表示されればOKですね!

1件 登録しました

pgAdmin上でも登録されていることを確認できました!

さいごに

最後まで読んでいただきありがとうございました。

今回はpgAdmin4を使用してデータベース・テーブルの作成、Eclipseを使用してデータ操作方法について解説しました。

アプリ・システム開発でデータベースの活用は必須になると思います。しっかりと基本をマスターしていきましょう!

MidWorks は業界トップクラスの低マージンで多くのエンジニアから選ばれています。
IT系フリーランス専門エージェントサービス第1位の MidWorks の無料会員登録はこちらから!!

タイトルとURLをコピーしました