Quellcode durchsuchen

新增配置文件版本

赵冬冬 vor 4 Jahren
Ursprung
Commit
7bc16a750d

+ 2 - 2
src/main/java/com/xin/shardingspherejdbcdemo/ShardingsphereJdbcStudyApplication.java

@@ -1,11 +1,11 @@
 package com.xin.shardingspherejdbcdemo;
 
-import org.apache.shardingsphere.shardingjdbc.spring.boot.SpringBootConfiguration;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
-@SpringBootApplication(exclude = {SpringBootConfiguration.class})
+//@SpringBootApplication(exclude = {SpringBootConfiguration.class})
+@SpringBootApplication
 @MapperScan("com.xin.shardingspherejdbcdemo.mapper")
 public class ShardingsphereJdbcStudyApplication {
 

+ 88 - 88
src/main/java/com/xin/shardingspherejdbcdemo/config/sharding/MyShardingDataSourceConfig.java

@@ -1,88 +1,88 @@
-package com.xin.shardingspherejdbcdemo.config.sharding;
-
-import com.alibaba.druid.pool.DruidDataSource;
-import org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration;
-import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration;
-import org.apache.shardingsphere.api.config.sharding.strategy.InlineShardingStrategyConfiguration;
-import org.apache.shardingsphere.api.config.sharding.strategy.ShardingStrategyConfiguration;
-import org.apache.shardingsphere.shardingjdbc.api.ShardingDataSourceFactory;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import javax.sql.DataSource;
-import java.sql.SQLException;
-import java.util.*;
-
-@Configuration
-public class MyShardingDataSourceConfig {
-
-
-    // 配置真实数据源
-    Map<String, DataSource> createDataSourceMap() {
-        // 配置真实数据源
-        Map<String, DataSource> dataSourceMap = new HashMap<>();
-        // 配置第一个数据源
-        DruidDataSource order0 = new DruidDataSource();
-        order0.setDbType("mysql");
-        order0.setDriverClassName("com.mysql.cj.jdbc.Driver");
-        order0.setUrl("jdbc:mysql://192.168.29.131:3306/sharding_order0");
-        order0.setUsername("root");
-        order0.setPassword("123456");
-        dataSourceMap.put("sharding_order0", order0);
-        // 配置第一个数据源
-        DruidDataSource order1 = new DruidDataSource();
-        order1.setDbType("mysql");
-        order1.setDriverClassName("com.mysql.cj.jdbc.Driver");
-        order1.setUrl("jdbc:mysql://192.168.29.131:3306/sharding_order1");
-        order1.setUsername("root");
-        order1.setPassword("123456");
-        dataSourceMap.put("sharding_order1", order1);
-        // 配置第一个数据源
-        DruidDataSource user = new DruidDataSource();
-        user.setDbType("mysql");
-        user.setDriverClassName("com.mysql.cj.jdbc.Driver");
-        user.setUrl("jdbc:mysql://192.168.29.131:3306/sharding_user");
-        user.setUsername("root");
-        user.setPassword("123456");
-        dataSourceMap.put("sharding_user", user);
-        return dataSourceMap;
-    }
-
-    //分片规则
-    List<TableRuleConfiguration> createTableRuleConfiguration() {
-        List<TableRuleConfiguration> data = new ArrayList<>();
-      // 配置Order表规则
-
-        // 水平分表
-        TableRuleConfiguration userConfig = new TableRuleConfiguration("user", "sharding_user.t_user$->{0..2}");
-        // 配置分库 + 分表策略
-        userConfig.setTableShardingStrategyConfig(new InlineShardingStrategyConfiguration("id", "t_user$->{id%3}"));
-
-        // 配置分库 + 分表策略
-        data.add(userConfig);
-
-        return data;
-    }
-
-    ShardingRuleConfiguration createShardingRuleConfiguration() {
-        ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
-        shardingRuleConfig.getTableRuleConfigs().addAll(createTableRuleConfiguration());
-        return shardingRuleConfig;
-    }
-
-    Properties createProperties() {
-        Properties properties = new Properties();
-        properties.setProperty("sql.show", "true");
-        return properties;
-    }
-
-    /**
-     * @return
-     * @throws SQLException
-     */
-    @Bean
-    public DataSource getShardingDataSource() throws SQLException {
-        return ShardingDataSourceFactory.createDataSource(createDataSourceMap(), createShardingRuleConfiguration(), createProperties());
-    }
-
-}
+//package com.xin.shardingspherejdbcdemo.config.sharding;
+//
+//import com.alibaba.druid.pool.DruidDataSource;
+//import org.apache.shardingsphere.api.config.sharding.ShardingRuleConfiguration;
+//import org.apache.shardingsphere.api.config.sharding.TableRuleConfiguration;
+//import org.apache.shardingsphere.api.config.sharding.strategy.InlineShardingStrategyConfiguration;
+//import org.apache.shardingsphere.api.config.sharding.strategy.ShardingStrategyConfiguration;
+//import org.apache.shardingsphere.shardingjdbc.api.ShardingDataSourceFactory;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//
+//import javax.sql.DataSource;
+//import java.sql.SQLException;
+//import java.util.*;
+//
+//@Configuration
+//public class MyShardingDataSourceConfig {
+//
+//
+//    // 配置真实数据源
+//    Map<String, DataSource> createDataSourceMap() {
+//        // 配置真实数据源
+//        Map<String, DataSource> dataSourceMap = new HashMap<>();
+//        // 配置第一个数据源
+//        DruidDataSource order0 = new DruidDataSource();
+//        order0.setDbType("mysql");
+//        order0.setDriverClassName("com.mysql.cj.jdbc.Driver");
+//        order0.setUrl("jdbc:mysql://192.168.29.131:3306/sharding_order0");
+//        order0.setUsername("root");
+//        order0.setPassword("123456");
+//        dataSourceMap.put("sharding_order0", order0);
+//        // 配置第一个数据源
+//        DruidDataSource order1 = new DruidDataSource();
+//        order1.setDbType("mysql");
+//        order1.setDriverClassName("com.mysql.cj.jdbc.Driver");
+//        order1.setUrl("jdbc:mysql://192.168.29.131:3306/sharding_order1");
+//        order1.setUsername("root");
+//        order1.setPassword("123456");
+//        dataSourceMap.put("sharding_order1", order1);
+//        // 配置第一个数据源
+//        DruidDataSource user = new DruidDataSource();
+//        user.setDbType("mysql");
+//        user.setDriverClassName("com.mysql.cj.jdbc.Driver");
+//        user.setUrl("jdbc:mysql://192.168.29.131:3306/sharding_user");
+//        user.setUsername("root");
+//        user.setPassword("123456");
+//        dataSourceMap.put("sharding_user", user);
+//        return dataSourceMap;
+//    }
+//
+//    //分片规则
+//    List<TableRuleConfiguration> createTableRuleConfiguration() {
+//        List<TableRuleConfiguration> data = new ArrayList<>();
+//      // 配置Order表规则
+//
+//        // 水平分表
+//        TableRuleConfiguration userConfig = new TableRuleConfiguration("user", "sharding_user.t_user$->{0..2}");
+//        // 配置分库 + 分表策略
+//        userConfig.setTableShardingStrategyConfig(new InlineShardingStrategyConfiguration("id", "t_user$->{id%3}"));
+//
+//        // 配置分库 + 分表策略
+//        data.add(userConfig);
+//
+//        return data;
+//    }
+//
+//    ShardingRuleConfiguration createShardingRuleConfiguration() {
+//        ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
+//        shardingRuleConfig.getTableRuleConfigs().addAll(createTableRuleConfiguration());
+//        return shardingRuleConfig;
+//    }
+//
+//    Properties createProperties() {
+//        Properties properties = new Properties();
+//        properties.setProperty("sql.show", "true");
+//        return properties;
+//    }
+//
+//    /**
+//     * @return
+//     * @throws SQLException
+//     */
+//    @Bean
+//    public DataSource getShardingDataSource() throws SQLException {
+//        return ShardingDataSourceFactory.createDataSource(createDataSourceMap(), createShardingRuleConfiguration(), createProperties());
+//    }
+//
+//}

+ 2 - 4
src/main/java/com/xin/shardingspherejdbcdemo/config/task/RunJob.java

@@ -1,8 +1,6 @@
 package com.xin.shardingspherejdbcdemo.config.task;
 
-import com.xin.shardingspherejdbcdemo.mapper.DbMapper;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.ApplicationArguments;
 import org.springframework.boot.ApplicationRunner;
 import org.springframework.stereotype.Component;
@@ -12,8 +10,8 @@ import org.springframework.stereotype.Component;
 public class RunJob implements ApplicationRunner {
 
 
-    @Autowired
-    private DbMapper dbMapper;
+//    @Autowired
+//    private DbMapper dbMapper;
 
 
 

+ 10 - 11
src/main/java/com/xin/shardingspherejdbcdemo/mapper/DbMapper.java

@@ -1,12 +1,11 @@
-package com.xin.shardingspherejdbcdemo.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-@Mapper
-public interface DbMapper {
-
-//    void creatUserTable(@Param("year") String year);
+//package com.xin.shardingspherejdbcdemo.mapper;
 //
-//    int selectUserTable(@Param("year") String year);
-}
+//import org.apache.ibatis.annotations.Mapper;
+//
+//@Mapper
+//public interface DbMapper {
+//
+////    void creatUserTable(@Param("year") String year);
+////
+////    int selectUserTable(@Param("year") String year);
+//}

+ 23 - 52
src/main/resources/application.yml

@@ -17,55 +17,26 @@ dbinfo:
 spring:
   main:
     allow-bean-definition-overriding: true
-#  datasource:
-#    name: mysql_test
-#    type: com.alibaba.druid.pool.DruidDataSource
-#    #druid相关配置
-#    druid:
-#      #监控统计拦截的filters
-#      filters: stat
-#      driver-class-name: com.mysql.jdbc.Driver
-#      #基本属性
-#      url: ${dbinfo.url}?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
-#      username: ${dbinfo.username}
-#      password: ${dbinfo.password}
-#      #配置初始化大小/最小/最大
-#      initial-size: 1
-#      min-idle: 1
-#      max-active: 20
-#      #获取连接等待超时时间
-#      max-wait: 60000
-#      #间隔多久进行一次检测,检测需要关闭的空闲连接
-#      time-between-eviction-runs-millis: 60000
-#      #一个连接在池中最小生存的时间
-#      min-evictable-idle-time-millis: 300000
-#      validation-query: SELECT 'x'
-#      test-while-idle: true
-#      test-on-borrow: false
-#      test-on-return: false
-#      #打开PSCache,并指定每个连接上PSCache的大小。oracle设为true,mysql设为false。分库分表较多推荐设置为false
-#      pool-prepared-statements: false
-#      max-pool-prepared-statement-per-connection-size: 20
-#  shardingsphere:
-#    datasource:
-#      #数据库别名
-#      names: master0
-#      master0:
-#        type: com.alibaba.druid.pool.DruidDataSource
-#        driver-class-name: com.mysql.cj.jdbc.Driver
-#        url: ${dbinfo.url}?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
-#        username: ${dbinfo.username}
-#        password: ${dbinfo.password}
-#    sharding:
-#      tables:
-#        #逻辑表名
-#        user:
-#          actual-data-nodes: master0.t_user$->{0..2}
-#          table-strategy:
-#            inline:
-#              sharding-column: id
-#              algorithm-expression: t_user$->{id%3}
-#    #打印sql
-#    props:
-#      sql:
-#        show: true
+  shardingsphere:
+    datasource:
+      #数据库别名
+      names: sharding-user
+      sharding-user:
+        type: com.alibaba.druid.pool.DruidDataSource
+        driver-class-name: com.mysql.cj.jdbc.Driver
+        url: jdbc:mysql://192.168.29.131:3306/sharding_user?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+        username: ${dbinfo.username}
+        password: ${dbinfo.password}
+    sharding:
+      tables:
+        #逻辑表名
+        user:
+          actual-data-nodes: sharding-user.t_user$->{0..2}
+          table-strategy:
+            inline:
+              sharding-column: id
+              algorithm-expression: t_user$->{id%3}
+    #打印sql
+    props:
+      sql:
+        show: true