カテゴリ: Spring 更新日: 2025/12/13

Spring BootでDB接続設定をする方法を完全ガイド!初心者でもわかるapplication.ymlの書き方

DB接続設定をapplication.ymlに書く方法(URL・ユーザー)
DB接続設定をapplication.ymlに書く方法(URL・ユーザー)

新人と先輩の会話形式で理解しよう

新人

「Spring Bootでデータベースと接続するには、どうすればいいんでしょうか?URLやユーザー名をどこかに書くんですか?」

先輩

「Spring Bootでは、application.ymlという設定ファイルにDB接続情報を書くのが基本なんだ。URLやユーザー名、パスワードなどをそこに書いておくことで、アプリが自動で接続してくれるよ。」

新人

「へえ、アプリ側が全部やってくれるんですね。設定ファイルの書き方を詳しく知りたいです!」

先輩

「よし、それじゃあSpring BootでのDB接続の基本から順番に見ていこう。」

1. Spring BootとDB接続の基本

1. Spring BootとDB接続の基本
1. Spring BootとDB接続の基本

Spring Bootは、JavaでWebアプリケーションを作るための便利なフレームワークです。その中でも、データベースとの連携は非常に重要な機能です。ユーザー情報の保存、商品一覧の取得、注文内容の記録など、すべてのWebアプリはデータベースとやり取りを行います。

Spring Bootでは、設定ファイルに接続情報を書くだけで、アプリケーション起動時に自動的にデータベースに接続してくれます。これは「プロパティ設定」と呼ばれ、特にapplication.ymlというファイルに記述するのが一般的です。

この設定を行うことで、Spring Bootが自動的にDataSourceという仕組みを通してDB接続を管理してくれます。初心者でも簡単に使えるように設計されています。

2. DB接続のためのプロパティ設定とは?

2. DB接続のためのプロパティ設定とは?
2. DB接続のためのプロパティ設定とは?

Spring Bootでは、DB接続のためにいくつかの「プロパティ」を設定する必要があります。主に以下の3つです。

  • 接続URL(どのデータベースに接続するかを指定)
  • ユーザー名(DBにログインするためのID)
  • パスワード(ログインに使うパスワード)

これらの設定をapplication.ymlというファイルに書くことで、Spring Bootは自動的にデータベースへアクセスできるようになります。

例えば、H2データベースやMySQLなどを使う場合、それぞれの接続URLの形式が異なるので注意が必要です。以下に、よく使われるデータベースの接続例を紹介します。

H2データベースの場合:


spring:
  datasource:
    url: jdbc:h2:mem:testdb
    driver-class-name: org.h2.Driver
    username: sa
    password:

MySQLデータベースの場合:


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mydb
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: password123

このように、spring.datasourceというキーの下に、必要なプロパティを階層的に書いていきます。YAML形式はインデント(字下げ)が大切なので、スペースを正しく入れることもポイントです。

また、Spring Bootはspring.datasourceというプロパティ名を自動で認識してくれるので、特別な設定やコードを書かなくてもDB接続が行えます。

デフォルトではH2データベースが組み込まれているため、特に何も書かなくてもアプリは起動しますが、MySQLなど外部のデータベースを使いたい場合は、明示的にプロパティ設定が必要になります。

補足:なぜapplication.ymlに書くのか?

Spring Bootには設定ファイルがいくつかありますが、その中でもapplication.ymlは読みやすく、階層構造で整理できるため人気です。

同じ内容をapplication.propertiesでも書けますが、application.ymlのほうが複雑な構造をスッキリ表現できるメリットがあります。

たとえば、下記のように複数の設定がきれいに並びます。


server:
  port: 8081

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/shop
    username: shop_user
    password: shop_pass

このように記述しておくと、Spring Bootは自動的に指定されたポート番号とデータベース接続情報を使ってアプリを起動します。

3. application.ymlファイルの作成手順(Pleiadesでの操作)

3. application.ymlファイルの作成手順(Pleiadesでの操作)
3. application.ymlファイルの作成手順(Pleiadesでの操作)

それでは実際にapplication.ymlファイルをPleiades(Eclipse)で作成していきましょう。プロジェクト作成後、src/main/resourcesフォルダ内に設定ファイルを置く必要があります。ここがSpring Bootで設定を読み込む決まりの場所になっています。

手順は次のとおりです:

  1. Pleiadesを起動し、作成済みのSpring Bootプロジェクトを開く。
  2. src/main/resourcesフォルダを右クリックして、新規 > ファイルを選択。
  3. application.ymlとファイル名を入力して「完了」。

ここで注意したいのは、ファイル名を必ずapplication.ymlにすることです。拡張子が.yaml.ymlでも動作しますが、Spring Bootのデフォルトはapplication.ymlです。

また、間違ってapplication.propertiesと入力しないようにしましょう。設定ファイルの形式が異なりますので、記述方法も変わってしまいます。

ファイルが作成できたら、次に実際の設定内容を書いていきます。

4. DB接続プロパティの書き方(URL・ユーザー・パスワードの記述例)

4. DB接続プロパティの書き方(URL・ユーザー・パスワードの記述例)
4. DB接続プロパティの書き方(URL・ユーザー・パスワードの記述例)

application.ymlファイルに書く内容は、接続するデータベースに応じて変わります。ここではMySQLに接続する例で説明します。以下のようにspring.datasourceというキーの下に、接続URL・ユーザー名・パスワードなどを記述します。


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/sampledb
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: test_user
    password: test_pass

ここで書かれているプロパティについて、それぞれ解説します。

  • url:接続するデータベースの場所を示します。ここではローカルPCの3306番ポートにあるsampledbというデータベースです。
  • driver-class-name:JDBCドライバのクラス名です。MySQLの場合はcom.mysql.cj.jdbc.Driverを使用します。
  • username:データベースに接続するためのユーザー名です。
  • password:ユーザー名に対応するパスワードです。

これらの情報は、データベース管理者から共有されるか、自分でMySQLを構築したときに作成したユーザー名とパスワードを使用します。

接続先のURLやユーザー名が誤っていると、Spring Bootアプリケーションの起動時にエラーになります。そのため、打ち間違いやスペースの混入などには注意しましょう。

また、パスワードを設定ファイルに直接書くのは避けたい場合は、環境変数Springのプロファイル機能を使う方法もありますが、今回は基本の書き方としてapplication.ymlに直接記述する形式を紹介しました。

5. 実際にDB接続が行われるかどうかの確認方法

5. 実際にDB接続が行われるかどうかの確認方法
5. 実際にDB接続が行われるかどうかの確認方法

設定が終わったら、実際にSpring Bootが正しくDB接続しているかを確認しましょう。確認するには、Spring BootアプリケーションをPleiades上で起動し、ログに表示される内容をチェックします。

具体的には、以下の手順で行います。

  1. プロジェクトのApplication.javaを右クリックして、「Spring Boot アプリケーションとして実行」を選ぶ。
  2. コンソールに表示されるログを確認する。

正常にDB接続できている場合、ログの中に以下のような内容が表示されます。


Connected to database [MySQL - 8.0.30] at jdbc:mysql://localhost:3306/sampledb

また、接続に失敗している場合は、次のようなエラーメッセージが表示されます。


Cannot create PoolableConnectionFactory (Access denied for user 'test_user'@'localhost' (using password: YES))

このようなメッセージが出た場合は、ユーザー名やパスワードが正しいか、データベースが起動しているかを再確認してください。

接続できている場合は、Spring Bootアプリケーションの中からリポジトリやサービスを使って、データの読み書きが可能になります。

まだリポジトリなどのクラスを作成していない場合でも、接続成功のログが表示されていれば、application.ymlDB接続設定が正しく動いている証拠です。

また、DB接続を使う際には、依存関係としてSpring Data JPAJDBC Driverが含まれている必要があります。Pleiadesでプロジェクト作成時にチェックを入れた場合は、自動でbuild.gradleに記述されているはずです。

最終的には、画面上にデータを表示したり、DBにデータを保存したりする処理を行うために、@ControllerServiceRepositoryなどのクラスと連携するようにしていきます。

6. よくあるエラーとその対処法(記述ミス・接続先DBの指定間違いなど)

6. よくあるエラーとその対処法(記述ミス・接続先DBの指定間違いなど)
6. よくあるエラーとその対処法(記述ミス・接続先DBの指定間違いなど)

Spring Bootでapplication.ymlにDB接続情報を設定するとき、初心者がつまずきやすいポイントがいくつかあります。ここでは、よくあるエラーとその対処方法を紹介します。

① インデントのミス

YAML形式ではスペースによるインデントが非常に重要です。タブではなく半角スペースを使わないと、Spring Bootが正しく読み取れず、以下のようなエラーが出ることがあります。


Cannot load configuration class: Mapping values are not allowed here

このエラーが出たら、まずapplication.ymlのインデントが正しく揃っているか確認してください。例えば次のような書き方はNGです。


spring:
datasource:
url: jdbc:mysql://localhost:3306/test

この場合、datasource以下のキーがspringの階層下として認識されません。必ず次のようにスペースで字下げしてください。


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/test

② URLの記述ミス

DB接続URLの書き方も間違えやすいポイントです。たとえば、次のようなスペルミスやポート番号のミスで接続エラーになります。


url: jdbc:mysql://localhost:3360/testdb

MySQLのデフォルトポートは3306なので、3360と書いてしまうと接続できません。接続できない場合は、使用しているDBのポート番号やサービス名を確認しましょう。

③ ユーザー名やパスワードの誤り

データベースにログインするためのusernamepasswordも正確に記述する必要があります。誤っていると次のようなエラーが表示されます。


Access denied for user 'root'@'localhost' (using password: YES)

このエラーは、ユーザー名またはパスワードが違っていることを示しています。特にコピー&ペーストしたときに余計な空白が入っていないかも確認しましょう。

④ JDBCドライバが見つからない

以下のようなエラーが出る場合は、Gradleの依存関係にJDBCドライバが含まれていない可能性があります。


Cannot load driver class: com.mysql.cj.jdbc.Driver

この場合、Pleiadesでプロジェクトを作成するときに「MySQL Driver」にチェックを入れ忘れていないか確認してください。入れ忘れた場合はbuild.gradleに依存関係を手動で追加する必要があります。

7. application.propertiesとの違いに軽く触れる

7. application.propertiesとの違いに軽く触れる
7. application.propertiesとの違いに軽く触れる

Spring Bootでは、DB接続設定をapplication.ymlだけでなく、application.propertiesという形式でも記述できます。どちらを使っても同じように動作しますが、書き方に違いがあります。

application.ymlの例:


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/sampledb
    username: user
    password: pass

application.propertiesの例:


spring.datasource.url=jdbc:mysql://localhost:3306/sampledb
spring.datasource.username=user
spring.datasource.password=pass

application.ymlはインデントによって階層を表現できるため、見やすく整理しやすいのが特徴です。複雑な設定や多階層な構成になる場合は、yml形式のほうが適しています。

一方で、application.propertiesはシンプルな構成であれば直感的に書けるため、小規模なプロジェクトでは好まれることもあります。

PleiadesでSpring Bootプロジェクトを新規作成した際は、デフォルトでapplication.propertiesが作られていることもありますが、開発者の好みに応じてapplication.ymlに置き換えて使用しても問題ありません。

8. 最後に、DB接続設定の流れを簡単におさらい

8. 最後に、DB接続設定の流れを簡単におさらい
8. 最後に、DB接続設定の流れを簡単におさらい

ここまで、Spring Bootでapplication.ymlを使ったDB接続設定について詳しく解説してきました。最後に、設定の流れを初心者向けに簡単に振り返っておきましょう。

  1. Pleiadesを起動し、Spring Bootプロジェクトを作成する。
  2. src/main/resourcesapplication.ymlファイルを新規作成する。
  3. spring.datasource.urlusernamepasswordなど、必要なプロパティを記述する。
  4. 記述した内容にスペルミスやインデントミスがないかをしっかり確認する。
  5. アプリケーションをPleiades上で実行し、ログに「接続成功」のメッセージが出ることを確認する。

この一連の流れができれば、Spring BootでのDB接続の基本はマスターしたと言えます。今後はこの設定をベースに、@ControllerServiceRepositoryなどのクラスを作成して、実際にデータベースとやりとりする処理へ進んでいきましょう。

application.ymlは、プロジェクト全体の設定を管理する大事なファイルです。まずはDB接続からしっかり理解して、設定ファイルの扱いに慣れていくことが、Spring Bootアプリ開発の第一歩になります。

まとめ

まとめ
まとめ

この記事では、Spring BootでDB接続設定を行う方法について、 初心者の方でも理解できるように、application.ymlの書き方を中心に詳しく解説してきました。 Spring Bootでは、データベース接続のために大量のコードを書く必要はなく、 設定ファイルに必要な情報を正しく記述するだけで、 アプリケーション起動時に自動でDB接続が行われるという点が大きな特徴です。

特に重要だったのは、spring.datasourceというプロパティ配下に、 接続URL、ユーザー名、パスワード、ドライバクラス名を正しく書くことでした。 application.ymlはインデントによって階層構造を表現するため、 スペースの数や配置を間違えるとエラーにつながる点も、 初心者が必ず押さえておくべきポイントです。 この部分を理解することで、 Spring Boot DB接続設定の基礎はほぼ身についたと言えます。

また、Pleiades環境でSpring Bootプロジェクトを作成し、 Gradleを使って依存関係を管理する流れも重要でした。 JDBCドライバやSpring Data JPAなどの依存関係が正しく追加されていなければ、 application.ymlを正しく書いてもDB接続は成功しません。 そのため、設定ファイルとbuild.gradleの両方が連携して動いている、 という意識を持つことが大切です。

ログの確認も非常に重要なポイントでした。 Spring Bootでは、アプリケーション起動時にコンソールへログが出力されるため、 DB接続が成功しているか、失敗しているかをすぐに判断できます。 エラーメッセージを怖がらずに読み、 URLやユーザー名、パスワード、ポート番号、インデントなどを一つずつ確認することで、 多くのトラブルは解決できます。 ログを味方につけることが、Spring Boot初心者から一歩進むための大きな鍵です。

今回の記事で覚えるべきことは、 Spring Bootではapplication.ymlを使ってDB接続設定を行うこと、 設定内容はシンプルでも正確さが重要であること、 そしてログを確認しながら動作を判断するという基本的な流れです。 一方で、環境変数やプロファイル、セキュリティを意識したパスワード管理などは、 今は無理に覚える必要はありません。 まずは基本を確実に身につけることが、長く役立つ知識につながります。


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/sampledb
    username: app_user
    password: app_pass
    driver-class-name: com.mysql.cj.jdbc.Driver

上記のような最小構成の設定を書けるようになるだけでも、 Spring BootでのDB接続設定は大きく前進します。 この形をベースにして、 将来的にJPAやトランザクション管理、パフォーマンス調整などを学んでいくと、 より実務に近いSpring Boot開発ができるようになります。

新卒エンジニアと先輩社員の振り返り会話

新人

「application.ymlにDB接続情報を書くだけで、 Spring Bootが自動でデータベースに接続してくれるのが、 最初は信じられなかったです。」

先輩

「最初はそう感じるよね。 でも、それがSpring Bootの強みなんだ。 面倒な設定をフレームワークが肩代わりしてくれる。」

新人

「ログを見てDB接続が成功しているか確認する、 という流れも少しずつ分かってきました。」

先輩

「それは大きな成長だね。 Spring Bootでは、ログを読む力がつくと、 エラー対応や原因調査が一気に楽になるよ。」

新人

「まずはDB接続設定をしっかり理解して、 次はRepositoryやServiceにも挑戦してみたいです。」

先輩

「その流れが一番いいね。 今日学んだapplication.ymlの設定は、 これから先もずっと使う知識だから、 自信を持って進んでいこう。」

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
Javaのメソッドを呼び出す書き方を完全解説!mainメソッドから実行する基本
Java のメソッドとは?基本の書き方を学ぼう
Javaの多次元配列(2次元配列)とは?初心者向けにわかりやすく解説
Javaの配列をコピーする「Arrays.copyOf()」の基本を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
SQLのINSERT文を完全ガイド!初心者でもわかるデータの追加方法
No.2
Java&Spring記事人気No2
HTMLのセレクトボックス(プルダウン)の使い方を完全ガイド!selectとoptionの基本を覚えよう
No.3
Java&Spring記事人気No3
Spring Bootで学ぶ!セッションの有効期限(タイムアウト)設定の基礎
No.4
Java&Spring記事人気No4
Java のファイル構成を理解しよう(.javaと.class)|初心者向けにわかりやすく解説