spring cloud mybatis动态配置多数据源 /** * 使用本地线程保存数据源对应的key值,在动态获取数据源时将在此获取key值 */ public class DatabaseContextHolder { private static final ThreadLocal<String> contextHolder = new ThreadLocal<String>(); public static void setDatabase(String type) { contextHolder.set(type); } public static String getDatabase() { return contextHolder.get(); } public static void clearDatabase() { contextHolder.remove(); } } /** * 动态数据源需要继承AbstractRoutingDataSource类,在spring动态获取数据源的时候将调用 * determineCurrentLookupKey方法获取key值 */ public class DynamicDataSource extends AbstractRoutingDataSource { @Override protected Object determineCurrentLookupKey() { return DatabaseContextHolder.getDatabase(); } } import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; //import com.baomidou.mybatisplus.entity.GlobalConfiguration; import com