【解決策】Spring Boot + JSP + Spring Securityでデータソースの設定に失敗する場合の対処法|MySQLでの設定方法を徹底解説
Spring BootでMySQLのDataSource(データソース)を設定するには、application.propertiesに必要な接続情報を定義するだけでOKです。本記事では、設定ファイルの基本的な書き方から、EntityManagerを使ったコントローラーの実装、プロジェクトの実行と動作確認まで、サンプルコードを交えてわかりやすく解説します。
application.propertiesによるDataSourceの設定方法
Spring Bootでは、application.propertiesにユーザー名、パスワード、データベースURL、ドライバークラス名を記述するだけで、データソースの基本設定が完了します。以下のように記述してください。
spring.datasource.username=yourUserName spring.datasource.password=yourPassword spring.datasource.url=yourDatabaseUrl spring.datasource.driver-class-name=yourDriverClassName
プロジェクト構成
今回作成するプロジェクトの全体構成は以下の通りです。

コントローラークラスの実装例
上記の概念を理解するために、Spring Bootでコントローラークラスを作成してみましょう。ここでは、EntityManagerを使用してネイティブSQLクエリを実行し、データベースからデータを取得するJavaコードを紹介します。
package com.demo.controller;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/users")
public class DisplayController {
@Autowired
EntityManager entityManager;
@GetMapping("/getdata")
public String getAll() {
Query data= entityManager.createNativeQuery("select first_name from demo25");
List<String> allData= data.getResultList();
return allData.toString();
}
}
メインクラスの実装例
次に、Spring Bootアプリケーションのエントリーポイントとなるメインクラスのコードです。
package com.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class JavaMysqlDemoApplication {
public static void main(String[] args) {
SpringApplication.run(JavaMysqlDemoApplication.class, args);
}
}
実際のSpring Bootのapplication.propertiesの記述例は、以下の画像のようになります。

プロジェクトの実行方法と動作確認
上記のプロジェクトを実行するには、メインクラスを右クリックし、「Run As」→「Java Application」を選択します。アプリケーションが起動したら、ブラウザから以下のURLにアクセスすると結果を確認できます。
https://localhost:yourPortNumber/users/getdata
アクセスすると、以下のような出力が表示されます。

MySQLテーブルの作成とデータ登録
上記の出力に対応するテーブルを事前に用意しておきましょう。まず、create table文でテーブルを作成します。
mysql> create table demo25 -> ( -> first_name varchar(20) -> ); Query OK, 0 rows affected (0.72 sec)
続いて、insertコマンドを使用してテーブルにレコードを挿入します。
mysql> insert into demo25 values('David');
Query OK, 1 row affected (0.10 sec)
mysql> insert into demo25 values('Adam');
Query OK, 1 row affected (0.13 sec)
mysql> insert into demo25 values('Chris');
Query OK, 1 row affected (0.10 sec)
最後に、select文でテーブル内のレコードを表示して正しく登録されているか確認します。
mysql> select *from demo25;
実行すると、以下のような結果が出力されます。
+------------+ | first_name | +------------+ | David | | Adam | | Chris | +------------+ 3 rows in set (0.00 sec)
-
Spring BootでローカルホストのMySQLに接続する方法を徹底解説
Spring Bootアプリケーションからローカル環境のMySQLデータベースに接続するには、application.propertiesファイルにデータベースの接続情報を記述するのが基本です。本記事では、設定方法から実際に動作を確認するまでの手順を、サンプルコードとともにわかりやすく解説します。1. application.propertiesへの接続設定まず、プロジェクトのsrc/main/resources配下にあるapplication.propertiesファイルに、以下の設定を追加します。spring.datasource.username=yourMySQLUserName sp
-
UbuntuにMySQLをインストールして設定する方法【初心者向け完全ガイド】
MySQLは、オープンソースで強力かつ広く利用されているリレーショナルデータベース管理システム(RDBMS)です。データを1つまたは複数のテーブルに整理し、テーブル間のデータ型を相互に関連付けることができます。SQL(Structured Query Language)はRDBMSと連携して動作し、大量のデータを保存・管理したい場合には、リレーショナルデータベースとSQLの活用が標準的な選択肢となります。 本記事では、Ubuntu 18.04サーバーにMySQLをセットアップする手順を解説します。認証の有効化、サービス管理の方法に加え、最後に設定が正しく完了したことを確認するためのテスト方法ま