| この記事の要点 |
|---|
|
前提
・Spring Boot
・JPA
mainメソッドが定義されているクラスに以下のアノテーションを付与する。
|
@SpringBootApplication @EnableJpaRepositories public class SampleApplication { public static void main(String[] args) { SpringApplication.run(SampleApplication.class, args); } } |
プロパティファイルの定義
application.propertiesに複数のDBを定義する。
|
spring.datasource.db1.driverClassName= ... spring.datasource.db2.driverClassName= ... |
エンティティの作成
使用するDBによりエンティティのパッケージを分ける。
DBの数だけパッケージを作成して対象のエンティティも定義する。
|
package ....entity.db1; import javax.persistence.Column; import lombok.Getter; @Getter @Column |
リポジトリの作成
リポジトリもエンティティと同様にDBによりパッケージを分割する。
DBの数だけパッケージを作成して対象のリポジトリも定義する。
|
package ....repository.db1; import org.springframework.data.jpa.repository.JpaRepository; import ....entity.db1.Test1; @Repository |
DBの向き先定義
使用するパッケージ名により使用するDBを変更する定義を記載する。(パッケージ名により対象の接続先、エンティティ、リポジトリを分岐させる)
以下のファイルをDBの数だけ作成する。
尚、@Primaryを付与しないとビルドが失敗するのでどれか1つのファイルにだけ定義しておくこと。(2つ目以降の定義ファイルには不要)
|
package ....db; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Autowired; @Configuration public class Db1DataSourceConfiguration { @Bean @Bean @Bean |
以上で設定は完了。
あとは、普通のJPAの使用方法と同じようにリポジトリをDIしてメソッド内で呼び出せばよい。
子ページはありません
- インストール(eclipseプラグイン)
- クイックスタート
- プロジェクトの作成
- Spring Bootプロジェクトの作成
- Spring Bootプロジェクトの実行
- Spring BootでHello World!
- アノテーション一覧
- DB接続設定からエンティティおよびリポジトリの作成、値の取得まで(JPA編)
- DB接続設定や値の取得(JdbcTemplate編)
- ビューから値をモデルに格納しコントローラーで受け取る方法
- コントローラーにてモデルに値を格納してビューに渡す方法
- テンプレートエンジン
- ModelとModelAndViewの違い
- AOPの使用方法
- classpath: 内部ファイルの読み込み
- file: 外部ファイルの読み込み
- CSVファイルアップロード方法(Ajax)
- CSVファイルダウンロード方法(Ajax)
- Spring Bootプロジェクトのビルドと本番環境へのデプロイ方法(内部tomcat使用)
- Application.propertiesの環境依存設定の分割方法
- JPAにおけるEntityManagerの取得方法
- JPAにおけるjava.sql.Connectionの取得方法
- エラー一覧
- jarの引数を受け取る方法
- Spring BootでGmailからメール送信
- 複数のDBに接続する設定(Spring Boot & JPA編)
- ポート番号の変更
- Basic認証の実装と特定のURLに限定する方法
- Spring SecurityのBasic認証の無効化
- 独自のエラーページを定義する方法
- プロパティファイルの値やjar実行時の引数を取得する方法
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript で base URL を取得する方法|window.location.origin
- 4 YouTube Data API v3 エラー一覧|403・400・404 の原因と対処
- 5 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 6 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 7 Spring Frameworkのアノテーション一覧
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- プロジェクトをTomcatプロジェクトとして認識させる方法 2026-10-07 22:32:50
- MySQLの1366 Incorrect string value|Laravelの文字コード・絵文字エラー 2026-10-07 21:54:03
- curlの証明書ホスト名不一致|旧エラー51・現行60の確認と対処 2026-10-07 21:54:03
- LaravelのMassAssignmentException|fillableの原因と安全な対処 2026-10-07 21:54:03
- Eclipse で Tomcat の起動ログがコンソールに出ない時の確認手順 2026-10-07 21:54:02
- MySQLにおける中央値(Median)の導き方(バージョン8未満) 2026-10-07 13:49:45
- getInputForward 2026-10-07 13:41:15
- JSONから配列に変換 2026-10-07 13:41:15
- ビューから値をモデルに格納しコントローラーで受け取る方法 2026-10-07 13:23:41
- Laravelのテーブル作成と定義変更|マイグレーション・up/down・注意点 2026-10-07 13:23:41
- NumPy 配列に要素を追加する方法 (append / concatenate) 2026-10-07 13:23:41
- MariaDB・MySQLで現在日時を取得する方法|NOW・タイムゾーン・保存型 2026-10-07 13:13:36
- 【django】テンプレートで定数を使用する方法 2026-10-07 13:10:15
- Spring BootにおけるApplication.propertiesの環境依存設定の分割方法 2026-10-07 12:09:35
- Not supported for DML operations【Springエラー】 2026-10-07 11:09:38