|
@@ -8,6 +8,7 @@ import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration;
|
|
|
import org.apache.shardingsphere.api.config.sharding.strategy.ComplexShardingStrategyConfiguration;
|
|
import org.apache.shardingsphere.api.config.sharding.strategy.ComplexShardingStrategyConfiguration;
|
|
|
import org.apache.shardingsphere.api.config.sharding.strategy.StandardShardingStrategyConfiguration;
|
|
import org.apache.shardingsphere.api.config.sharding.strategy.StandardShardingStrategyConfiguration;
|
|
|
import org.apache.shardingsphere.shardingjdbc.api.ShardingDataSourceFactory;
|
|
import org.apache.shardingsphere.shardingjdbc.api.ShardingDataSourceFactory;
|
|
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
|
import org.springframework.context.annotation.*;
|
|
import org.springframework.context.annotation.*;
|
|
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
|
@@ -105,6 +106,58 @@ public class ShardingJdbcConfig {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.dsdefault.jdbc-url}")
|
|
|
|
|
+ private String dsDefaultJdbcUrl;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.dsdefault.username}")
|
|
|
|
|
+ private String dsDefaultUsername;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.dsdefault.password}")
|
|
|
|
|
+ private String dsDefaultPassword;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds0.jdbc-url}")
|
|
|
|
|
+ private String ds0JdbcUrl;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds0.username}")
|
|
|
|
|
+ private String ds0Username;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds0.password}")
|
|
|
|
|
+ private String ds0Password;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds1.jdbc-url}")
|
|
|
|
|
+ private String ds1JdbcUrl;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds1.username}")
|
|
|
|
|
+ private String ds1Username;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds1.password}")
|
|
|
|
|
+ private String ds1Password;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds2.jdbc-url}")
|
|
|
|
|
+ private String ds2JdbcUrl;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds2.username}")
|
|
|
|
|
+ private String ds2Username;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds2.password}")
|
|
|
|
|
+ private String ds2Password;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds3.jdbc-url}")
|
|
|
|
|
+ private String ds3JdbcUrl;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds3.username}")
|
|
|
|
|
+ private String ds3Username;
|
|
|
|
|
+
|
|
|
|
|
+ @Value("${sharding.datasource.ds3.password}")
|
|
|
|
|
+ private String ds3Password;
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 配置数据源
|
|
* 配置数据源
|
|
|
*/
|
|
*/
|
|
@@ -113,12 +166,12 @@ public class ShardingJdbcConfig {
|
|
|
|
|
|
|
|
// 1. 配置多个数据源
|
|
// 1. 配置多个数据源
|
|
|
Map<String, DataSource> dataSources = new HashMap<>();
|
|
Map<String, DataSource> dataSources = new HashMap<>();
|
|
|
- dataSources.put("ds0", createDataSource("jdbc:mysql://124.222.152.234:3306/mall_0?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false", "root", "hy123456","ds0"));
|
|
|
|
|
- dataSources.put("ds1", createDataSource("jdbc:mysql://124.222.152.234:3306/mall_1?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false", "root", "hy123456","ds1"));
|
|
|
|
|
- dataSources.put("ds2", createDataSource("jdbc:mysql://124.222.152.234:3306/mall_2?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false", "root", "hy123456","ds2"));
|
|
|
|
|
- dataSources.put("ds3", createDataSource("jdbc:mysql://124.222.152.234:3306/mall_3?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false", "root", "hy123456","ds3"));
|
|
|
|
|
|
|
+ dataSources.put("ds0", createDataSource(ds0JdbcUrl, ds0Username, ds0Password,"ds0"));
|
|
|
|
|
+ dataSources.put("ds1", createDataSource(ds1JdbcUrl, ds1Username, ds1Password,"ds1"));
|
|
|
|
|
+ dataSources.put("ds2", createDataSource(ds2JdbcUrl, ds2Username, ds2Password,"ds2"));
|
|
|
|
|
+ dataSources.put("ds3", createDataSource(ds3JdbcUrl, ds3Username, ds3Password,"ds3"));
|
|
|
// 添加默认数据库(非分库分表的表使用)
|
|
// 添加默认数据库(非分库分表的表使用)
|
|
|
- dataSources.put("default_ds", createDataSource("jdbc:mysql://124.222.152.234:3306/mall?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false", "root", "hy123456","ds4"));
|
|
|
|
|
|
|
+ dataSources.put("default_ds", createDataSource(dsDefaultJdbcUrl, dsDefaultUsername, dsDefaultPassword,"default_ds"));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|