はじめに
Spring Boot で DB に接続するとき、
DataSource(データソース) の設定が必要になります。
- application.yml に何を書けばいいの?
- URL の書き方は?
- ユーザー名やパスワードはどこに?
- 起動しないときはどこを見る?
こういった疑問は、
DataSource の仕組みと設定の基本を理解すると一気に解決します。
この記事では、DataSource の設定を
やさしく・実務寄り で整理していきます。
DataSource とは
一言でいうと、
「DB との接続情報をまとめた“入り口”」
です。
Spring Boot は DataSource を使って
- DB への接続
- コネクションプールの管理
- トランザクション管理 を行います。
基本の設定(MySQL の例)
spring:
datasource:
url: jdbc:mysql://localhost:3306/sample
username: root
password: password
driver-class-name: com.mysql.cj.jdbc.Driverこれだけで Spring Boot が自動で DataSource を作ってくれます。
DB ごとの URL の書き方
MySQL
jdbc:mysql://localhost:3306/dbname
PostgreSQL
jdbc:postgresql://localhost:5432/dbname
SQLServer
jdbc:sqlserver://localhost:1433;databaseName=dbname
H2(組み込み DB)
jdbc:h2:mem:testdb
URL の書き方が間違っていると、
起動はするけど接続できない という状態になります。
DataSource 設定でよくあるつまずき
URL のスペルミス
例:jdbc:mysql//(コロン抜け)
ポート番号が違う
MySQL → 3306
PostgreSQL → 5432
SQLServer → 1433
DB が起動していない
ログにこう出ます:
Communications link failure
ユーザー名・パスワードが違う
Access denied for user
driver-class-name の書き間違い
MySQL は com.mysql.cj.jdbc.Driver が正しい。
DataSource が読み込まれないときのチェックポイント
application.yml の階層が正しいか
spring:
datasource:
url: ...インデントがずれると読み込まれません。
プロファイルが dev / prod で切り替わっていないか
application-dev.yml に書いたのに dev が有効になっていないパターン。
依存関係が入っているか
MySQL の場合:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
</dependency>依存がないと DataSource が作れません。
DB が起動しているか
Docker の場合は docker ps で確認。
実務でよくある DataSource の設定パターン
ローカル開発(dev)
spring:
datasource:
url: jdbc:mysql://localhost:3306/sample
username: root
password: root本番(prod)
spring:
datasource:
url: jdbc:mysql://prod-db:3306/sample
username: appuser
password: ${DB_PASSWORD}本番では環境変数を使うのが一般的です。
DataSource の動きをふわっと理解する
Spring Boot は起動時に:
- application.yml を読む
- spring.datasource の値を取得
- DataSource(HikariCP)を作成
- DB に接続
- 成功したらアプリ起動
という流れで動きます。
DataSource のエラーをログで見分ける
URL のミス
The connection string is invalid
DB が起動していない
Communications link failure
認証エラー
Access denied for user
ドライバがない
Driver class not found
ログの最後の数行を見るだけで、
原因がほぼ特定できます。
DataSource をもっと活かすポイント
コネクションプールの設定
spring:
datasource:
hikari:
maximum-pool-size: 100SQL ログを出す
spring.jpa.show-sql: trueプロファイルごとに設定を分ける
application-dev.yml
application-prod.yml
まとめ
DataSource の設定は、
「DB の URL・ユーザー・パスワードを正しく書く」
これがすべてです。
- URL の書き方
- ポート番号
- ユーザー名・パスワード
- driver-class-name
- application.yml の階層
- プロファイルの切り替え
- 依存関係の有無
難しく聞こえますが、
「URL → 認証 → YAML → 依存」
の順に確認すれば十分です。

DataSource の設定は最初こそ難しく見えますが、
“よくあるミスのパターン” を知っているだけで
落ち着いて対処できるようになります。
あなたの開発が、今日より少しだけ楽になりますように。

DB への“入り口”って感じだね…
正しく書けばすっとつながるんだね。

コメント