JavaでWebアプリ制作を学習してみよう。- MySQL CentOS7 on VirtualBox データベースに接続 –

2021年3月25日

前回は Spring Boot でデータベースを使用する際の概念(仕組み)を学びました。
要は

  1. Repositoryでデータベースを操作するメソッドを記述する。SQL問い合わせ。
  2. データベース内のテーブル構成をEntityに記述する。
  3. データベースライブラリを pom.xml(Maven) 又は build_gradle(Gradle) ファイルに登録する。
  4. データベースの接続パラメータを application.propertiesファイル に記述する。

がポイントです。JDBC APIライブラリはちょっと例外のようだが。。。

今回は Spring Boot で MySQLを使ってデータベースのへのデータ登録と表示を具体的にやってみることにした。

データベースに MySQL を使いたい。これまでPHP(Laravel含む)のWebアプリ作成で MySQL を使っていたため。
しかし、MySQLをWindows10に入れたくない。VirtualBox上のCentOS7の動かしているMySQLを使いたい。

なんでこんな感じの構成を考え試すことに。

 

TeraTermでCentOS7に接続してMySQLにデータベースとユーザ、テーブル、サンプルでコードを追加。

$ sudo mysql -u root -p

CREATE DATABASE testdb;
CREATE USER hoge@'localhost' IDENTIFIED BY 'hoge';
GRANT ALL PRIVILEGES ON testdb.* TO hoge@'192.168.1.0/255.255.255.0 IDENTIFIED BY 'hoge';
GRANT ALL PRIVILEGES ON testdb.* TO hoge@'localhost';
use testdb;
CREATE TABLE user (id int, name varchar(20), email varchar(255));
SHOW COLUMNS FROM user;
INSERT INTO user (id, name, email) VALUES (1, '山田 太郎', 't.yamada@exsample.com');
INSERT INTO user (id, name, email) VALUES (2, '高橋 次郎', 'g.takahashi@exsample.com');

sts4にSpring Boot Appを新規作成してapplication.propertiesファイルにMySQL接続設定、Controller、Repository、Entityを作成。

application.propertiesファイル

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.1.244:3306/testdb
spring.datasource.username=hoge
spring.datasource.password=hoge

そして実際に動かした。以外にあっさりと動いた。