java如何切换数据源

 时间:2026-02-16 11:57:08

1、/**

* 用于持有当前线程中使用的数据源标识

* */

public class DynamicDataSourceHolder {

private static final ThreadLocal<String> THREAD_DATA_SOURCE = new ThreadLocal<String>();

public static String getDataSource() {

return THREAD_DATA_SOURCE.get();

}

java如何切换数据源

2、public static void setDataSource(String dataSource) {

THREAD_DATA_SOURCE.set(dataSource);

}

public static void clearDataSource() {

THREAD_DATA_SOURCE.remove();

}

java如何切换数据源

3、spring对多数据源的支持 ,重写determineCurrentLookupKey()方法,建立动态数据源类

java如何切换数据源

4、public class DynamicDataSource extends AbstractRoutingDataSource {

@Override

protected Object determineCurrentLookupKey() {

return DynamicDataSourceHolder.getDataSource();

}

}

java如何切换数据源

5、<!-- 引入多数据源 -->

<bean id="multiDataSource" class="com.tydic.upp.systemmanage.datasource.util.DynamicDataSource">

<property name="targetDataSources">

<map key-type="java.lang.String">

<!-- 指定lookupKey和与之对应的数据源 -->

<entry key="readServerDataSource" value-ref="mysqlDataSource"></entry>

java如何切换数据源

6、<entry key="readwriteServerDataSource" value-ref="dataSource"></entry>

</map>

</property>

<!-- 这里可以指定默认的数据源 -->

<property name="defaultTargetDataSource" ref="dataSource"/>

</bean>

java如何切换数据源

7、使用层面,直接切换,做好放到一个try catch finally中方式切换的数据源再切换回去。

DynamicDataSourceHolder.setDataSource("");

java如何切换数据源

  • 电脑C盘快要满了怎么办
  • win11开机声音怎么关
  • 豆瓣阅读如何绑定新浪微博
  • qq接收文件默认保存在哪里如何修改保存文件位置
  • 使用命令获取电脑的所有视频及路径
  • 热门搜索
    屹怎么读 excited怎么读 肯德基炸鸡腿的做法 冰箱冷藏室排水孔堵塞怎么疏通 汤锅的做法 腰部酸痛是怎么回事 契税怎么算 玉手镯怎么选择好坏 月经不调怎么调理最有效 韭菜饺子馅的做法