From d604baada5eb6bc22b8583b310066326b0108a06 Mon Sep 17 00:00:00 2001 From: zhangdaiscott <zhangdaiscott@163.com> Date: Sun, 7 Aug 2022 21:34:31 +0800 Subject: [PATCH] 分库分表集成例子配置文件调整 --- jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java | 21 +++++++++++---------- jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding-multi.yml | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding2.yml | 72 ------------------------------------------------------------------------ 3 files changed, 83 insertions(+), 82 deletions(-) create mode 100644 jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding-multi.yml delete mode 100644 jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding2.yml diff --git a/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java b/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java index 5de357c..0b15784 100644 --- a/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java +++ b/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java @@ -35,7 +35,8 @@ public class JeecgShardingDemoController extends JeecgController<ShardingSysLog, @PostMapping(value = "/test1") @ApiOperation(value = "单库分表插入", notes = "单库分表") public Result<?> add() { - int size=10; + log.info("---------------------------------单库分表插入--------------------------------"); + int size = 10; for (int i = 0; i < size; i++) { ShardingSysLog shardingSysLog = new ShardingSysLog(); shardingSysLog.setLogContent("jeecg"); @@ -43,7 +44,7 @@ public class JeecgShardingDemoController extends JeecgController<ShardingSysLog, shardingSysLog.setOperateType(i); shardingSysLogService.save(shardingSysLog); } - return Result.OK(); + return Result.OK("单库分表插入10条数据完成!"); } /** @@ -57,30 +58,30 @@ public class JeecgShardingDemoController extends JeecgController<ShardingSysLog, } /** - * 双库分表 - 插入 + * 分库分表 - 插入 * @return */ @PostMapping(value = "/test2") - @ApiOperation(value = "双库分表插入", notes = "双库分表") + @ApiOperation(value = "分库分表插入", notes = "分库分表") public Result<?> test2() { int start=20; - int size=30; + int size=50; for (int i = start; i <= size; i++) { ShardingSysLog shardingSysLog = new ShardingSysLog(); - shardingSysLog.setLogContent("双库分表测试"); - shardingSysLog.setLogType(i); + shardingSysLog.setLogContent("分库分表测试"); + shardingSysLog.setLogType(0); shardingSysLog.setOperateType(i); shardingSysLogService.save(shardingSysLog); } - return Result.OK(); + return Result.OK("分库分表插入10条数据完成!"); } /** - * 双库分表 - 查询 + * 分库分表 - 查询 * @return */ @PostMapping(value = "/list2") - @ApiOperation(value = "双库分表查询", notes = "双库分表") + @ApiOperation(value = "分库分表查询", notes = "分库分表") public Result<?> list2() { return Result.OK(shardingSysLogService.list()); } diff --git a/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding-multi.yml b/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding-multi.yml new file mode 100644 index 0000000..52c1ae5 --- /dev/null +++ b/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding-multi.yml @@ -0,0 +1,72 @@ +# 双库分表配置 +spring: + shardingsphere: + props: + sql-show: true + datasource: + ds0: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + ds1: + driverClassName: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai + type: com.alibaba.druid.pool.DruidDataSource + username: root + password: root + names: ds0,ds1 + # 规则配置 + rules: + replica-query: + # 负载均衡算法 + load-balancers: + round-robin: + type: ROUND_ROBIN + props: + default: 0 + data-sources: + prds: + primary-data-source-name: ds0 + replica-data-source-names: ds1 + load-balancer-name: round_robin + sharding: + # 配置绑定表,每一行为一组,绑定表会提高查询效率 + binding-tables: + - sys_log + # 分布式序列算法配置 + key-generators: + snowflake: + type: SNOWFLAKE + props: + worker-id: 123 + # 分片算法配置 + sharding-algorithms: + table-classbased: + props: + strategy: standard + algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm + type: CLASS_BASED + # 通过operate_type取模的方式确定数据落在哪个库 + database-inline: + type: INLINE + props: + algorithm-expression: ds$->{operate_type % 2} + tables: + # 逻辑表名称 + sys_log: + #配置具体表的数据节点 + actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} + # 分库策略 + database-strategy: + standard: + sharding-column: operate_type + sharding-algorithm-name: database-inline + # 分表策略 + table-strategy: + standard: + # 分片算法名称 + sharding-algorithm-name: table-classbased + # 分片列名称 + sharding-column: log_type \ No newline at end of file diff --git a/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding2.yml b/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding2.yml deleted file mode 100644 index 52c1ae5..0000000 --- a/jeecg-boot/jeecg-cloud-module/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/application-sharding2.yml +++ /dev/null @@ -1,72 +0,0 @@ -# 双库分表配置 -spring: - shardingsphere: - props: - sql-show: true - datasource: - ds0: - driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - type: com.alibaba.druid.pool.DruidDataSource - username: root - password: root - ds1: - driverClassName: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - type: com.alibaba.druid.pool.DruidDataSource - username: root - password: root - names: ds0,ds1 - # 规则配置 - rules: - replica-query: - # 负载均衡算法 - load-balancers: - round-robin: - type: ROUND_ROBIN - props: - default: 0 - data-sources: - prds: - primary-data-source-name: ds0 - replica-data-source-names: ds1 - load-balancer-name: round_robin - sharding: - # 配置绑定表,每一行为一组,绑定表会提高查询效率 - binding-tables: - - sys_log - # 分布式序列算法配置 - key-generators: - snowflake: - type: SNOWFLAKE - props: - worker-id: 123 - # 分片算法配置 - sharding-algorithms: - table-classbased: - props: - strategy: standard - algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm - type: CLASS_BASED - # 通过operate_type取模的方式确定数据落在哪个库 - database-inline: - type: INLINE - props: - algorithm-expression: ds$->{operate_type % 2} - tables: - # 逻辑表名称 - sys_log: - #配置具体表的数据节点 - actual-data-nodes: ds$->{0..1}.sys_log$->{0..1} - # 分库策略 - database-strategy: - standard: - sharding-column: operate_type - sharding-algorithm-name: database-inline - # 分表策略 - table-strategy: - standard: - # 分片算法名称 - sharding-algorithm-name: table-classbased - # 分片列名称 - sharding-column: log_type \ No newline at end of file -- libgit2 0.22.2