タイトル
TOPJavaspring → This Page

1.準備 Spring+MVC+DB+Test構築サンプル

前提

このページに記載している内容は 2018/09/24 に書かれたものです。
掲載している画面や方法が将来的に変更されている場合があります。
また、掲載しているインストール方法は Windows 8.1 の場合です。

STS(Spring Tool Suite)の準備

Spring Framework を用いた MVC,DB,Test 構築にはSTS(Spring Tool Suite)を使います。
まだインストールや設定をしていない場合は以下のページを参考にして環境設定して下さい。
(インストールするだけではなく、以下のページにあるJDK設定も必ずやっておいて下さい)
STS(Spring Tool Suite)3.9.5の導入(インストール)
(別ウインドウで開きます)

PostgreSQLの準備

PostgreSQLをインストールして下さい。
インストール方法はぐぐればいっぱい情報が出てくるのでそちらを参考にどうぞ。
ちなみに本ページでは PostgreSQL 9.5.14 を使います。
環境変数「Path」に PostgreSQL インストールフォルダ配下の bin フォルダも追加登録しておきましょう。
PostgreSQL 9.5 の場合は
C:\Program Files\PostgreSQL\9.5\bin
です。


DBの準備

PostgreSQLにサンプル用のユーザ、データベースを作成し、
そこにサンプル用のテーブルをいくつか作成します。

コマンドプロンプトを立ち上げて以下のコマンドで
postgres で PostgreSQL に接続して下さい。
psql -U postgres

postgres ユーザのパスワードを求められるので
postgres ユーザのパスワードを入力して Enter キーを押しましょう。
「'psql' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
と表示された場合は PostgreSQL の環境変数「Path」設定が間違っています。
パスワードを忘れてしまった方は・・・
ネット情報を頼りにパスワードの初期化をして下さい。
図:コマンドプロンプト

無事に接続できると以下の図のようになったと思います。
図:コマンドプロンプト

ではサンプル用のユーザを作成しましょう。
mitchy というユーザでパスワードを ppp として作成します。
以下のSQLを入力してEnterを押してください。
(ユーザ名、パスワードはお好きなものに変えてもらっても結構です)
CREATE ROLE mitchy WITH SUPERUSER CREATEDB LOGIN PASSWORD 'ppp';
以下の図のように何もエラーが出なければ成功しています。
図:PostgreSQL

次にサンプル用のデータベースを作成しましょう。
今回は testdb という名前のデータベースを作成します。
データベースのオーナーは先ほど作成したユーザ mitchy とします。
以下のSQLを入力してEnterを押してください。
CREATE DATABASE testdb OWNER mitchy;
以下の図のように CREATE DATABASE と表示されれば成功しています。
図:PostgreSQL

現在はまだ別のデータベースに接続しているので
今作成したデータベースに切り替えます。
以下のコマンドで testdb に切り替えましょう。
\C testdb
※先頭文字は半角円マークです。
以下の図のように「タイトルは "testdb" です。」と表示されれば成功しています。
図:PostgreSQL

ではサンプル用のテーブルを作成しましょう。
以下の図のような3つのテーブルを作成します。
図:ER

サンプルデータは以下のようにします。
図:データ

以下のSQLでテーブルを作成しましょう。
それぞれで CREATE TABLE と表示されれば作成成功です。
CREATE TABLE department
(
id integer,
name varchar(20),
PRIMARY KEY (id)
);

CREATE TABLE staff
(
id integer,
name varchar(20),
age integer,
deptid integer,
PRIMARY KEY (id),
FOREIGN KEY (deptid) REFERENCES department (id)
);

CREATE TABLE attendance
(
staffid integer,
yyyymmdd integer,
state integer,
PRIMARY KEY (staffid, yyyymmdd),
FOREIGN KEY (staffid) REFERENCES staff (id)
);

同じく以下のSQLでテーブルにデータを登録しましょう。
設定によっては「進行中のトランザクションがありません」と警告が出ますが無視してOKです。
INSERT INTO department VALUES(1, '人事');
INSERT INTO department VALUES(2, '開発');
INSERT INTO department VALUES(3, '営業');

INSERT INTO staff VALUES(101, '人事太郎1', 45, 1);
INSERT INTO staff VALUES(102, '人事太郎2', 38, 1);
INSERT INTO staff VALUES(201, '開発太郎1', 32, 2);
INSERT INTO staff VALUES(202, '開発太郎2', 28, 2);
INSERT INTO staff VALUES(301, '営業太郎1', 40, 3);
INSERT INTO staff VALUES(302, '営業太郎2', 26, 3);

INSERT INTO attendance VALUES(101, 20180801, 1);
INSERT INTO attendance VALUES(101, 20180802, 1);
INSERT INTO attendance VALUES(101, 20180803, 1);
INSERT INTO attendance VALUES(101, 20180804, 2);
INSERT INTO attendance VALUES(102, 20180801, 1);
INSERT INTO attendance VALUES(102, 20180802, 1);
INSERT INTO attendance VALUES(102, 20180803, 1);
INSERT INTO attendance VALUES(102, 20180804, 2);

COMMIT;

これで開発準備は全て完了です。


更新履歴

2018/09/24 新規作成

TOPJavaspring → This Page