浏览代码

动态增删改查数据源

mxd 5 年之前
父节点
当前提交
49d028ddb6
共有 1 个文件被更改,包括 22 次插入2 次删除
  1. 22 2
      src/main/java/org/ssssssss/magicapi/config/DynamicDataSource.java

+ 22 - 2
src/main/java/org/ssssssss/magicapi/config/DynamicDataSource.java

@@ -8,8 +8,7 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager;
 import org.ssssssss.magicapi.utils.Assert;
 
 import javax.sql.DataSource;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 动态数据源
@@ -40,6 +39,27 @@ public class DynamicDataSource {
         this.dataSourceMap.put(dataSourceName, new DataSourceNode(dataSource));
     }
 
+    /**
+     * 获取全部数据源
+     */
+    public List<String> datasources(){
+        return new ArrayList<>(this.dataSourceMap.keySet());
+    }
+
+    /**
+     * 删除数据源
+     * @param datasourceName    数据源名称
+     */
+    public boolean delete(String datasourceName){
+        boolean result = false;
+        // 检查参数是否合法
+        if(datasourceName != null && !datasourceName.isEmpty()){
+            result = this.dataSourceMap.remove(datasourceName) != null;
+        }
+        logger.info("删除数据源:{}:{}", datasourceName, result ? "成功" : "失败");
+        return result;
+    }
+
     /**
      * 获取默认数据源
      * @return