Spring MVC Mybatisマルチデータソースの利用例の分析

高洛峰
リリース: 2017-01-24 10:28:23
オリジナル
1621 人が閲覧しました

プロジェクトは他の Web サイトからデータを取得する必要があります。これは一時的な要件であるため、プロジェクトを開始したときは複数のデータ ソースが必要になるとは予想していませんでした

そこで、Baidu で検索したところ、Spring applicationContext を変更するだけでよいことがわかりました。 .xml ファイルを作成し、3 つのツール クラスを記述します

applicationContext.xml

              //这里是你项目里DynamicDataSource.java的路径         
ログイン後にコピー

DataSourceContextHolder.java

public class DataSourceContextHolder { private static final ThreadLocal contextHolder = new ThreadLocal(); public static void setDbType(String dbType) { contextHolder.set(dbType); } public static String getDbType() { return ((String) contextHolder.get()); } public static void clearDbType() { contextHolder.remove(); } }
ログイン後にコピー

DataSourceType.java (静的変数を設定します)

public class DataSourceType { // 默认数据库 public static final String SOURCE_ADMIN = "ds1"; // 第二个数据库,在applicationContext.xml里的id public static final String SOURCE_PARTNER = "ds2"; }
ログイン後にコピー

次はAbstractRoutingDataSource を継承するキー DynamicDataSource.java 抽象メソッドである destroyCurrentLookupKey は、データ ソースを実装するルートの核心であり、ここでこのメソッドをオーバーライドします。

import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class DynamicDataSource extends AbstractRoutingDataSource { @Override protected Object determineCurrentLookupKey() { return DataSourceContextHolder.getDbType(); } }
ログイン後にコピー

以上は編集者が紹介した Spring MVC Mybatis の複数データソースの使用例分析です。ご質問があればメッセージを残していただければ編集者が返信させていただきます。間に合うように。また、PHP 中国語 Web サイトをサポートしていただきありがとうございます。

Spring MVC Mybatis の複数のデータ ソースのユースケース分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!