当前位置:   article > 正文

spring boot dynamic datasource_dynamicdatasourcecontextholder

dynamicdatasourcecontextholder

定义数据源的KEY

package io.app.dynamic;
public enum DataSourceKey {
   
    DEFAULT,ORDER // 这里可以多个,如果数据源是完全动态的,可以不使用枚举,存在数据库里面。或者另外一种规则,可以完全自定义
}
  • 1
  • 2
  • 3
  • 4
  • 5

定义Holder当前使用数据源的KEY

package io.app.dynamic;

import java.util.ArrayList;
import java.util.List;
 /*如果需要调用某个数据库,需要设置 DynamicDataSourceContextHolder.setDataSourceKey(DataSourceKey.ORDER) ; 这样就会切换到该数据库 */
public class DynamicDataSourceContextHolder {
   

    private static final ThreadLocal<String> CONTEXT_HOLDER = ThreadLocal.withInitial(DataSourceKey.DEFAULT.name());

    public static void setDataSourceKey(DataSourceKey key) {
   
        CONTEXT_HOLDER.set(key.name());
    }

    public static String getDataSourceKey(
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/677965
推荐阅读
相关标签
  

闽ICP备14008679号