MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

【解決策】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 + JSP + Spring Securityでデータソースの設定に失敗する場合の対処法|MySQLでの設定方法を徹底解説

コントローラークラスの実装例

上記の概念を理解するために、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の記述例は、以下の画像のようになります。

【解決策】Spring Boot + JSP + Spring Securityでデータソースの設定に失敗する場合の対処法|MySQLでの設定方法を徹底解説

プロジェクトの実行方法と動作確認

上記のプロジェクトを実行するには、メインクラスを右クリックし、「Run As」→「Java Application」を選択します。アプリケーションが起動したら、ブラウザから以下のURLにアクセスすると結果を確認できます。

https://localhost:yourPortNumber/users/getdata

アクセスすると、以下のような出力が表示されます。

【解決策】Spring Boot + JSP + Spring Securityでデータソースの設定に失敗する場合の対処法|MySQLでの設定方法を徹底解説

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)
  1. Spring BootでローカルホストのMySQLに接続する方法を徹底解説

    Spring Bootアプリケーションからローカル環境のMySQLデータベースに接続するには、application.propertiesファイルにデータベースの接続情報を記述するのが基本です。本記事では、設定方法から実際に動作を確認するまでの手順を、サンプルコードとともにわかりやすく解説します。1. application.propertiesへの接続設定まず、プロジェクトのsrc/main/resources配下にあるapplication.propertiesファイルに、以下の設定を追加します。spring.datasource.username=yourMySQLUserName sp

  2. UbuntuにMySQLをインストールして設定する方法【初心者向け完全ガイド】

    MySQLは、オープンソースで強力かつ広く利用されているリレーショナルデータベース管理システム(RDBMS)です。データを1つまたは複数のテーブルに整理し、テーブル間のデータ型を相互に関連付けることができます。SQL(Structured Query Language)はRDBMSと連携して動作し、大量のデータを保存・管理したい場合には、リレーショナルデータベースとSQLの活用が標準的な選択肢となります。 本記事では、Ubuntu 18.04サーバーにMySQLをセットアップする手順を解説します。認証の有効化、サービス管理の方法に加え、最後に設定が正しく完了したことを確認するためのテスト方法ま