code: public static DataSource createDataSource(
              final Map<String, DataSource> dataSourceMap, final ShardingRuleConfiguration shardingRuleConfig, final Properties props) throws SQLException {
          return new ShardingDataSource(dataSourceMap, new ShardingRule(shardingRuleConfig, dataSourceMap.keySet()), props);
      }
docs: Create sharding data source.
  
  @param dataSourceMap data source map
  @param shardingRuleConfig rule configuration for databases and tables sharding
  @param props properties for data source
  @return sharding data source
  @throws SQLException SQL exception