monga3日記

Java+SpringでWebシステムの構築をやっていきます。

「Spring解体新書」の3章でPostgreSQLに接続する方法

この記事では「Spring解体新書」の「3-3.データベースから値を取得してみる」の部分の説明をします。 本の中では「H2データベース」を使用していますが、データベースを「PostgreSQL」に 変更した時にどの部分を変更すれば良いかを説明します。

PostgreSQLのインストール

インストール方法がわからない場合は、以下の記事が分かりやすかったので参考にしてください。 qiita.com

DBクライアントツール

クライアントツールは必須ではありませんが、デフォルトでインストールされる「pgAdmin」は使いづらかったので、 以下のツールを使用しています。

DBeaver

dbeaver.io

マルチプラットフォーム対応(Windows/Mac/Linux)のデータベースGUIツールで、 多くのデータベース(Oracle/MySQL/PostgreSQL/SQLite… )に対応しています。

多言語対応していて、日本語で使用することもできます。

プログラム側の対応

プログラム側は以下のファイルを設定を変更するだけです。 「urlのポート部分(5432)」、「username」、「password」は 各自「PostgreSQL」をインストール時に指定した値を設定してください。

application.properties

spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=postgres
spring.datasource.password=postgres

今回は事前にデータベースにデータを登録しておくため、「schema. sql」、「data.sql」は使用しません。 そのため起動前にあらかじめデータを登録しておく必要があります。

データベースにデータ登録

以下は従業員テーブルを作成するSQLです。

テーブル作成のSQL

CREATE TABLE public.employee (
    employeeid int4 NOT NULL,
    employeename varchar NOT NULL,
    age int4 NOT NULL
);

テストデータ用のSQL

INSERT INTO public.employee
(employeeid, employeename, age)
VALUES(1, '山田 太郎', 30);

ここまでの設定が終わったらSpringBootを起動して、 「URL:http://localhost:8080/hello」に接続してみましょう。

従業員IDに「1」を入力してクリックした時に データベースに登録した名前、年齢が表示されることを確認しましょう。

まとめ

今回は「PostgreSQL」に接続する方法を説明しましたが、 他のデータベースへの接続方法も、「application.properties」の設定を変更するだけで可能になります。 「Spring解体新書」のサンプル通りに学習していくのも良いですが、 少しで良いのでカスタマイズすると理解が高まる気がします。