「Spring解体新書」の3章でPostgreSQLに接続する方法
この記事では「Spring解体新書」の「3-3.データベースから値を取得してみる」の部分の説明をします。 本の中では「H2データベース」を使用していますが、データベースを「PostgreSQL」に 変更した時にどの部分を変更すれば良いかを説明します。
PostgreSQLのインストール
インストール方法がわからない場合は、以下の記事が分かりやすかったので参考にしてください。 qiita.com
DBクライアントツール
クライアントツールは必須ではありませんが、デフォルトでインストールされる「pgAdmin」は使いづらかったので、 以下のツールを使用しています。
DBeaver
マルチプラットフォーム対応(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解体新書」のサンプル通りに学習していくのも良いですが、 少しで良いのでカスタマイズすると理解が高まる気がします。