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に追加しておくことも忘れないようにしましょう。本記事の手順を参考に、ぜひご自身の環境でもデータベース連携を試してみてください。
-
【解決策】Spring Boot + JSP + Spring Securityでデータソースの設定に失敗する場合の対処法|MySQLでの設定方法を徹底解説
Spring BootでMySQLのDataSource(データソース)を設定するには、application.propertiesに必要な接続情報を定義するだけでOKです。本記事では、設定ファイルの基本的な書き方から、EntityManagerを使ったコントローラーの実装、プロジェクトの実行と動作確認まで、サンプルコードを交えてわかりやすく解説します。 application.propertiesによるDataSourceの設定方法 Spring Bootでは、application.propertiesにユーザー名、パスワード、データベースURL、ドライバークラス名を記述するだけで、デー
-
IntelliJ IDEAでMySQLサーバーに接続する方法を徹底解説
ご存知の通り、MySQLサーバーの操作にはMySQL Workbenchを併用すると、データベース管理がより直感的かつ簡単になります。 しかし近年では、ソースコードのコンパイルやビルドだけでなく、データベース管理システム(DBMS)との連携機能まで備えたモダンなIDEが数多く登場しています。 その代表格がJetBrains社の製品群です。本記事では、多くの開発者に利用されているIntelliJ IDEAを使ってMySQLサーバーに接続する手順を、初心者にもわかるよう丁寧に解説します。 それでは早速始めましょう! IntelliJでMySQLサーバーに接続する手順 注意: 本記事ではIntel