検索

キーワード


EclipseのJavaプログラムからpgAdminのデータベースに接続する方法

  • 公開日:2021-02-08 13:06:42
  • 最終更新日:2021-02-24 11:45:11

こんにちはIMMRです。


現在、Javaの勉強でEclipseで作成したJavaプログラムからpgAdminのデータベースの内容を参照するプログラムを作成しています。

どのようなプログラムで作成を行ったのか、

エラーが発生してうまくできなかった箇所も含めて説明していきます。


図1 EclipseのJavaプログラからpgAdminのデータベースに接続する

EclipseのJavaプログラムからpgAdminのデータベースに接続する

データベースを参照するためにはまず、接続を行う必要があります。

接続するためにどのようなプログラムが必要か。

また、その他にどのような設定が必要なのかを説明します。


ちなみにpdAdminのインストールまたは、データベースとテーブルの作成は下記を参照して下さい。

pgAdmin(PostgreSQL)のインストール

データベースとテーブルの作成



1.プログラムからデータベースに接続するのに必要なプログラム

EclipseのJavaプログラムからpgAdminのデータベースに接続するサンプルプログラムは、以下のようになっています。


サンプルプログラム

package sample;

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

public class Sample {
	public static void main(String[] args) {
		//初期化
		Connection dbResult = null;
		try {
			//個人設定に必要な文字列
			String dbUrl = "jdbc:postgresql://localhost:5432/devdb01";
			String dbUserName = "postgres";
			String dbPassword = "password";
			System.out.println("接続開始。");

			// 接続
			dbResult = DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
			System.out.println("接続できました。");
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			try {
				// クローズ
				if (dbResult != null) {
					dbResult.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}
	}
}


データベースの接続先やユーザ名は、各々異なります。

そのため上記プログラムを使用してデータベースに接続する際は、

個人設定に必要な文字列」の変更が必要です。


個人設定に必要な文字列の変更箇所


dbUrl = "jdbc:postgresql://localhost:5432/devdb01";

 jdbc:postgresql://は、固定です。

 localhost:は、接続しようとするデータベースのIP または ホスト名です。 ※個人のPCならlocalhost

 5432は、データベースのポート番号です。 PostgreSQLのデフォルトポートであれば5432

 devdb01は、データベース名です。 ※下記のように接続しようとしているデータベースの名前


図2 接続しようとしていデータベース

接続しようとしているデータベース


dbUserName = "postgres";

 ユーザ名を記載します。


dbPassword = "password";

 ■データベースに接続するためのパスワードを記載します。


以上を記載したプログラムを実行すると結果は下記のようになります。


図3 例外がスローされる

例外がスローされる


上記のように「java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/devdb01」となり、

接続時失敗のException系の例外がスローされます。

プログラムからデータベースに接続するためには、プログラムの記載だけではなく、

接続するためのドライバの準備が必要になります。


2.プログラムからデタベースに接続するのに必要なドライバ


先ほど、説明したようにEclipseのJavaプログラムからpgAdminのデータベースに接続するためには、

プログラムの記載だけでできません。PostgreSQLのJDBCドライバが必要になります。


下記、場所でドライバpostgresql-42.2.18.jarをダウンロードします。

PostgreSQL JDBCドライバのダウンロード


図4 ドライバのダンロード

ドライバのダウンロード


ドライバ(jarファイル)のダウンロードが完了したらCドライブにあるフォルダー「pleiades」にコピーをします。 

補足:下の図5では、pleades 直下に jar ファイルをコピーしていますが、任意の場所で問題ないです。


図5 ダウンロードしたjarファイルをフォルダーにコピーする

ダウンロードしたjarファイルをフォルダーにコピーする


3.プログラムからデータベーに接続するのに必要なEclipseの設定

EclipseのJavaプログラムからpgAdminのデータベースに接続するために

必要なpostgresql-42.2.18.jar」(jarファイル)をダウンロードしました。

ここでは、ダウンロードしたファイルをEclipseのライブラリに追加を行う作業を行います。


jarファイルをEclipseのライブラリに追加する方法


①プロジェクトを右クリック→「ビルド・パス」→「ビルド・パスの構成」を選択する。

図6 操作方法①

「ビルド・パスの構成」の選択

②ビルド・パスの構成が表示されるので「ライブラリ」タブを選択する。

図7 操作方法②

「ライブラリ」タブの選択

「外部JARの追加を選択する。

図8 操作方法③

「外部JARの追加」の選択

④ダウンロードした「postgresql-42.2.18.jarを選択する。

図9 操作方法④

「postgresql-42.2.18.jar」の選択


⑤先ほど選択した「postgresql-42.2.18.jar」がライブラリ一覧に表示されるので「適用して閉じる」を選択する。

図10 操作方法⑤

ライブラリ適用


これでEclipseのライブラリーに追加ができます。


4.プログラムからデータベースに接続するのに必要なプログラムの実行結果

EclipseのJavaプログラムからpgAdminのデータベースに接続します。

プログラムコードは、上記にあるものと同じです。


先ほどは、下記のように例外がスローされました。

図11 例外がスローされる

例外がスローされる


しかし、ダウンロードしたpostgresql-42.2.18.jar」(jarファイル)をEclipseのライブラリーに追加後、

先ほどと同じプログラムで処理を実行すると以下のように「接続できました」と表示され、正常終了します。


図12 プログラムの正常終了

プログラムの正常終了


無事にデータベースに接続することができました。

以降に、Select等のSQL文を記載し、データベース テーブル等を参照する処理を行っていきます。


【著者】

Imamura

今まではExcel VBAの開発をしてきました。
開発を主にしたものや他の業務の効率化を目指して行ったものさまざまです。
現在は、他のプログラミング言語に挑戦して、スキルアップを目指しています。

よく読まれている記事
【Java】JSPでタグライブラリを使う(JSTL)

【Java】JSPでタグライブラリを使う(JSTL)

こんにちは。エンジニアの新田です!ここでは、システムエンジニアとして働いている私が、システム開発手法や開発言語について紹介していこうと思います。今回は、JSPの標準タグライブラリ「JSTL」について紹介します。Javaについて勉強している方、Webアプリケーションを構築したいと思っている方の参考になれば幸いです!関連記事リンク: 【Java】JSPの基本的な構文/【Java】JSPのアクションタグ

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

【Java】Stringクラス文字列を操作するメソッドの使い方まとめ!実例も紹介!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!そもそもStringとは何?『 String 』... Java言語において文字列のデータ型を指します。基本デ

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

【Java】文字列の置き換え(String#format)!エスケープシーケンスのまとめも!!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!Stringクラスformatメソッドの文字列整形【java.utilパッケージ】Formatterクラスfo

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

【Java】文字列格納後に変更可能!?StringBufferクラスとStringBuilderクラス!

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者にも✅、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!文字列を扱う3つのクラス【java.langパッケージ】java.langパッケージの文字列を扱うクラスにはS

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

【Java】値?変数?型??しっかり解説!『データ型(プリミティブ型と参照型)』

こんにちは。新人エンジニアのサトウです。システムエンジニアとして駆け出したばかりですが、初心者なりの視点でわかりやすい記事を心がけていますので参考になればうれしいです。プログラム初心者✅にも、プログラムに興味がある人✨も、短い時間で簡単にできますのでぜひこの記事を読んで試してみてください!プリミティブ型と参照型プログラム開発では型を持った変数を使ってデータのやり取りをしますが、データ型によって仕様