Springを使ってお問い合わせフォームを作るその2
Springを使ってお問い合わせフォームを作るその2です。 今回はDBまわりを作っていきます。
まずDockerを使ってMySQLサーバーを立ち上げます。
以下のような docker-compose.yml
を作成します。
version: "3.8"
services:
mysql:
image: mysql:8.0.20
container_name: swiswiswift-mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: swiswiswift-db
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
ports:
- 3306:3306
ターミナルなどで docker-compose.yml
が存在するディレクトリに移動し、以下のコマンドで MySQL のコンテナを起動します。
docker-compose up -d
mysql:8.0.20
という名前のイメージを使って swiswiswift-mysql
という名前のコンテナ port 3306
で起動させます。
また docker-compose.yml
に記載があるように、Root のパスワードは password
です。
起動が完了したら以下のコマンドで MySQL にログインします。
mysql -u root -h 127.0.0.1 --port 3306 -p # password
swiswiswift-db
を選択します。
use swiswiswift-db
お問い合わせフォームで入力する値は名前、Email、お問い合わせ内容なのでそれらを保存する contact
テーブルを作成します。
create table contact(
name varchar(255) not null,
email varchar(255) not null,
message varchar(1023) not null
);
テーブルを作成したらお問い合わせ内容が入ることを確認します。
insert contact (name, email, message) values ('Snorlax', 'snorlax@pokemon.com', 'Snorlax is the best cute pokemon.');
insert contact (name, email, message) values ('Eveee', 'eveee@pokemon.com', 'Cute pokemon.');
お問い合わせ内容を表示します。
select * from contact;
+---------+---------------------+------------------------------+
| name | email | message |
+---------+---------------------+------------------------------+
| Snorlax | snorlax@pokemon.com | Snorlax is the best pokemon. |
| Eveee | eveee@pokemon.com | Cute pokemon. |
+---------+---------------------+------------------------------+