◀ 26. 【Spring Boot (JPA編)】複数のDBに接続する設定 ▶
前提
・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からメール送信
- ポート番号の変更
- Basic認証の実装と特定のURLに限定する方法
- Spring SecurityのBasic認証の無効化
- 独自のエラーページを定義する方法
- プロパティファイルの値やjar実行時の引数を取得する方法
人気ページ
最近更新/作成されたページ
- dasdsa (2022-11-13 07:57:24)
- Sydney top independent escorts (2022-11-13 07:56:58)
- 'include' is not defined (2022-06-09 22:05:10)
- 【django】ログイン 認証機能 (2022-06-06 14:30:24)
- [Dockerエラー] WSL 2 installation is incomplete. (2022-06-02 15:34:14)
- 【Laravelエラー】does not comply with psr-4 autoloading standard. Skipping. (2021-11-28 18:13:59)
- 複数のデータベースに接続する方法 (2021-11-16 12:58:24)
- SQLSTATE[22007]: Invalid datetime format: 1366 Incorrect string value: ~ (2021-11-07 07:19:55)
- 【Laravelエラー】Invalid request (Unsupported SSL request) (2021-11-01 04:19:34)
- 【Laravelエラー】Database hosts array is empty. (2021-10-04 00:01:48)
最近コメントのあったページ
- 【Spring】file: 外部ファイルの読み込み (2023-02-05 10:22:09)
- 【Spring Boot (JPA編)】DB接続設定からエンティティおよびリポジトリの作成、値の取得まで (2023-02-05 09:17:58)
- 【Spring Boot (JPA編)】DB接続設定からエンティティおよびリポジトリの作成、値の取得まで (2023-02-05 08:40:18)
- 【Spring Boot (JPA編)】DB接続設定からエンティティおよびリポジトリの作成、値の取得まで (2023-02-05 08:21:51)
- 【Spring Boot (JPA編)】DB接続設定からエンティティおよびリポジトリの作成、値の取得まで (2023-02-05 07:56:29)
- 【Spring Boot (JPA編)】DB接続設定からエンティティおよびリポジトリの作成、値の取得まで (2023-02-05 07:45:56)
- 【PHPフレームワーク】Laravelの使い方 (2023-02-05 07:02:30)
- サーバーとプロジェクトの紐づけ (2023-02-05 07:01:27)
- 【Spring】@Serviceアノテーションとは (2023-02-05 07:01:25)
- 【Spring Boot (JPA編)】DB接続設定からエンティティおよびリポジトリの作成、値の取得まで (2023-02-05 06:33:46)
最近の質問
- 質問です (2020-02-20 12:19:36)
- フリーランスの単価って高いですか? (2020-02-12 19:56:16)
- 情報系のaoを受けるつもりなんですが何かおすすめのソフトはありますか? (2020-02-12 19:54:22)
- test3 (2020-02-08 23:50:54)
- セレクトボックスのCSSのcontentで三角の部分が押せない (2019-07-03 13:06:10)
- GCPのwp-config.phpでpermission denied (2019-06-05 20:04:08)
- Spring FrameworkのEntityのカラム名の大文字小文字、アンスコについて (2019-02-01 07:13:49)
- PHP(Laravel)からPythonのプログラムを呼び出したいのですがどうすればよいでしょうか。 (2018-12-06 06:26:57)
- djangoを本番環境にデプロイしたいのですがどのレンタルサーバー or VPSサーバーがよいですか (2018-12-01 12:04:18)
- Django administrationのUsernameとPasswordについて (2018-11-30 11:55:20)
- Google Adsenseでアダルトコンテンツと誤認されてしまいました。 (2018-09-09 17:15:36)
- Google MapsをUnityで使用する方法&料金 (2018-08-28 02:37:26)
- Amazon PA-APIのSort=salesrankが効かない (2018-07-21 08:54:25)
- 楽観ロックと悲観ロックの違い (2018-01-11 05:05:33)
- レンタルサーバーって沢山ありますけどどこがいいでしょうか?AWSってどうなんですか? (2018-01-09 10:03:20)
- ディープラーニングのライブラリってどれがオススメですか? (2018-01-06 05:15:40)
- Webスクレイピングってどこまでが違法なんでしょうか? (2018-01-06 05:09:08)
- 人工知能(AI)、機械学習、ディープラーニングの違い (2018-01-06 02:40:44)
コメントを削除してもよろしいでしょうか?
No.1 |
guest
| 2022-11-15 10:08:12
Medicament information. Cautions. <a href="https://cialissuperactive4us.top">cialis super active without prescription</a> in USA Actual information about medicament. Get information now.