フリュー株式会社フリュー株式会社の開発者が技術情報を発信するブログです。2017-07-24Doma2を使った複数データベースアクセスこんにちは。フリューのジョンです。JPAのほうが好きですが、今回はDoma2を使った複数データベースアクセスを実装して躓いたので書かせていただきたいと思います。環境としましては以下のようになります。1.5.4.RELEASE複数のデータベースアクセスの具体的な要件は以下になります。oracle.jdbc.OracleDriver以上の要件を満たすために、AbstractRoutingDataSourceとAnnotation、ThreadLocalを利用しました。Bootで複数データベースを扱うウェブアプリケーションのサンプル」の記事を参考にさせていただきました。実装Daoには実装は加えません。肝になるのは、AbstractRoutingDataSourceです。AbstractRoutingDataSourceはSpringのJDBCパッケージの中にあります。このクラスを実装したモノを、Domaのconfigを継承したConfigrationクラスが返却することで対応が可能です。}}ここで、AppConfigはルートである必要があります。(もしかすると、そうでなくてもいける方法があるのかもしれませんが、私が調べた限り出来ませんでした......)接続先を保存するためにstaticでデータを作っておきます。ThreadLocalですので取扱には注意です。DataSourceType.TEST;}アノテーションの実装は以下になります。アノテーションがあるメソッドが動く前に接続先をHolderにセットして、動作した後に開放しています。}}接続先はenumで持つようにします。name;}ここまでで実装終わりです。以下のようになります。}}まとめ今回はアノテーションを使った振り分け方を行いましたが、リクエストパラメータやCookieを使って振り分けるというのも良いかと思います。Doma2がConfigを勝手に参照してくれるのは、とても楽ですね。設定だけでうまくいきました。12/18の記...2016-11-15JMockitを使ってテストを書いていて困った点こんにちはフリューのジョンです。コンテンツ・メディア第1事業部のjyukutyoこと阪...2016-09-26SQLBriteの紹介コンテンツ・メディア第1事業部の荒木です。-ABの出し分け-コンテンツ・メディア第1事業部の荒木です。6引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。