Przeglądaj źródła

【分库】【根据master表配置IP地址创建数据源】

wuyx 2 dni temu
rodzic
commit
98665010fc

+ 4 - 6
src/main/java/com/uas/eis/core/config/DynamicDataSourceRegister.java

@@ -7,12 +7,9 @@ import java.util.Map;
 import java.util.UUID;
 
 import javax.sql.DataSource;
- 
-
-
-
 
 
+import com.uas.eis.utils.StringUtil;
 import org.springframework.beans.MutablePropertyValues;
 import org.springframework.beans.PropertyValues;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -87,7 +84,7 @@ public class DynamicDataSourceRegister  implements ImportBeanDefinitionRegistrar
     	List<Map<String , Object>> master = jdbcTemplate.queryForList("select MA_USER,MA_PWD from master");
     	System.out.println(master);*/
     	JdbcTemplate jdbcTemplate = new JdbcTemplate(defaultDataSource);  
-    	List<Map<String , Object>> master = jdbcTemplate.queryForList("select MA_USER,MS_PWD from master");
+    	List<Map<String , Object>> master = jdbcTemplate.queryForList("select MA_USER,MS_PWD,MA_URL from master");
     	// 读取主数据源
         RelaxedPropertyResolver propertyResolver = new RelaxedPropertyResolver(env, "spring.datasource.");
     	for(Map<String , Object> map : master){
@@ -95,7 +92,8 @@ public class DynamicDataSourceRegister  implements ImportBeanDefinitionRegistrar
     		Map<String, Object> dsMap = new HashMap<>();
     		dsMap.put("type", propertyResolver.getProperty("type"));
             dsMap.put("driverClassName", propertyResolver.getProperty("driverClassName"));
-            dsMap.put("url", propertyResolver.getProperty("url"));
+            //根据master表配置IP地址创建数据源
+            dsMap.put("url", StringUtil.nvl(map.get("MA_URL"),propertyResolver.getProperty("url")));
             dsMap.put("password", propertyResolver.getProperty("password"));
             dsMap.put("username", ma_user);
             DataSource ds = buildDataSource(dsMap);