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

Spring BootでローカルホストのMySQLに接続する方法を徹底解説

Spring Bootアプリケーションからローカル環境のMySQLデータベースに接続するには、application.propertiesファイルにデータベースの接続情報を記述するのが基本です。本記事では、設定方法から実際に動作を確認するまでの手順を、サンプルコードとともにわかりやすく解説します。

1. application.propertiesへの接続設定

まず、プロジェクトのsrc/main/resources配下にあるapplication.propertiesファイルに、以下の設定を追加します。

spring.datasource.username=yourMySQLUserName
spring.datasource.password=yourMySQLPassword
spring.datasource.url=jdbc:mysql://localhost:3306/yoruDatabaseName
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

各設定項目の意味は以下の通りです。

  • username / password:MySQLにログインする際のユーザー名とパスワード
  • url:JDBC接続URL。「localhost:3306」はローカル環境のMySQLのデフォルトポート、「yoruDatabaseName」の部分には実際のデータベース名を指定します
  • driver-class-name:MySQL用のJDBCドライバクラス(MySQL 8.x系では「com.mysql.cj.jdbc.Driver」を使用)

2. 動作確認用のテーブルを作成する

設定の理解を深めるため、実際にMySQLでテーブルを作成してみましょう。以下のコマンドで「demo71」というテーブルを作成します。

mysql> create table demo71
-> (
-> id int,
-> name varchar(20)
-> );
Query OK, 0 rows affected (3.81 sec)

レコードの挿入

次に、INSERTコマンドを使ってテーブルにデータを登録します。

mysql> insert into demo71 values(100,'John');
Query OK, 1 row affected (0.13 sec)

mysql> insert into demo71 values(101,'David');
Query OK, 1 row affected (0.49 sec)

mysql> insert into demo71 values(102,'Bob');
Query OK, 1 row affected (0.15 sec)

登録データの確認

SELECT文で登録されたレコードを表示します。

mysql> select *from demo71;

実行結果は以下のようになります。

+------+-------+
| id   | name  |
+------+-------+
| 100  | John  |
| 101  | David |
| 102  | Bob   |
+------+-------+
3 rows in set (0.00 sec)

3. Spring Bootアプリケーションで接続を検証する

application.propertiesの設定がローカルのMySQLに対して正しく機能しているかを確認するため、Spring Bootアプリケーションを作成してテストします。

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

以下は、テーブルからデータを取得して返すコントローラークラスのコード例です。

package com.demo.controller;
import java.util.Iterator;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/table")
public class TableController {

    @Autowired
    EntityManager entityManager;

    @ResponseBody
    @GetMapping("/demo71")
    public String getData() {
        Query sqlQuery = entityManager.createNativeQuery("select name from demo71");
        List<String> result = sqlQuery.getResultList();
        StringBuilder sb = new StringBuilder();
        Iterator itr = result.iterator();
        while(itr.hasNext()) {
            sb.append(itr.next() + " ");
        }
        return sb.toString();
    }
}

このコントローラーでは、EntityManagerを使ってネイティブSQLクエリを実行し、「demo71」テーブルからnameカラムの値をすべて取得して文字列として返しています。

メインクラスの実装

次に、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);
    }
}

4. アプリケーションの実行と動作確認

メインクラスを右クリックし、「Run as Java Application」を選択してアプリケーションを起動します。正常に起動したら、ブラウザから以下のURLにアクセスしてください。

https://localhost:8093/table/demo71

接続が正しく行われていれば、テーブルに登録された「John David Bob」という名前の一覧が画面に表示されます。これで、Spring BootからローカルホストのMySQLへの接続が正常に動作していることが確認できました。

まとめ

Spring BootとローカルMySQLの接続は、application.propertiesに接続情報を記述するだけで簡単に実現できます。JDBCドライバの依存関係(mysql-connector-java)をpom.xmlまたはbuild.gradleに追加しておくことも忘れないようにしましょう。本記事の手順を参考に、ぜひご自身の環境でもデータベース連携を試してみてください。

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

    Spring BootでMySQLのDataSource(データソース)を設定するには、application.propertiesに必要な接続情報を定義するだけでOKです。本記事では、設定ファイルの基本的な書き方から、EntityManagerを使ったコントローラーの実装、プロジェクトの実行と動作確認まで、サンプルコードを交えてわかりやすく解説します。 application.propertiesによるDataSourceの設定方法 Spring Bootでは、application.propertiesにユーザー名、パスワード、データベースURL、ドライバークラス名を記述するだけで、デー

  2. IntelliJ IDEAでMySQLサーバーに接続する方法を徹底解説

    ご存知の通り、MySQLサーバーの操作にはMySQL Workbenchを併用すると、データベース管理がより直感的かつ簡単になります。 しかし近年では、ソースコードのコンパイルやビルドだけでなく、データベース管理システム(DBMS)との連携機能まで備えたモダンなIDEが数多く登場しています。 その代表格がJetBrains社の製品群です。本記事では、多くの開発者に利用されているIntelliJ IDEAを使ってMySQLサーバーに接続する手順を、初心者にもわかるよう丁寧に解説します。 それでは早速始めましょう! IntelliJでMySQLサーバーに接続する手順 注意: 本記事ではIntel