プロジェクトは他の Web サイトからデータを取得する必要があります。これは一時的な要件であるため、プロジェクトを開始したときは複数のデータ ソースが必要になるとは予想していませんでした
そこで、Baidu で検索したところ、Spring applicationContext を変更するだけでよいことがわかりました。 .xml ファイルを作成し、3 つのツール クラスを記述します
applicationContext.xml
//这里是你项目里DynamicDataSource.java的路径
DataSourceContextHolder.java
public class DataSourceContextHolder { private static final ThreadLocalcontextHolder = 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 サイトに注目してください。