Commit bc5848e99b5a84db7afa8af78a5614bc51b1688d

Authored by wangbin
1 parent 82894c34

optimized some code info

src/test/java/com/taover/repository/test/TestAutoconfigure.java
... ... @@ -8,23 +8,46 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
8 8 import org.springframework.context.ConfigurableApplicationContext;
9 9 import org.springframework.scheduling.annotation.EnableScheduling;
10 10  
  11 +import com.taover.repository.jdbctemplate.JdbcTemplateBroadcast;
11 12 import com.taover.repository.jdbctemplate.JdbcTemplateWrapperTenant;
12 13  
13 14 @SpringBootApplication
14 15 @EnableScheduling
15 16 public class TestAutoconfigure {
  17 + private static JdbcTemplateBroadcast jdbcTemplateBroadcast;
  18 + private static JdbcTemplateWrapperTenant jdbcTemplateWrapperTenant;
  19 +
  20 +
16 21 public static void main(String args[]) {
17 22 ConfigurableApplicationContext context = SpringApplication.run(TestAutoconfigure.class, args);
  23 + jdbcTemplateBroadcast = context.getBean(JdbcTemplateBroadcast.class);
  24 + jdbcTemplateWrapperTenant = context.getBean(JdbcTemplateWrapperTenant.class);
18 25  
19   -// JdbcTemplateBroadcast jdbcTemplateB = context.getBean(JdbcTemplateBroadcast.class);
20   -// System.out.println(jdbcTemplateB.queryForObject("select id from wxorder_order order by id desc limit 5 ", String.class, new String[]{"wxorder_order"}));
21   -
22   -// JdbcTemplateWrapperTenant jdbcTemplate = context.getBean(JdbcTemplateWrapperTenant.class);
23   -// System.out.println(jdbcTemplate.queryForObject("select id from wxorder_order limit 1", Long.class, 1L));
24   -// System.out.println(jdbcTemplate.queryForList("select * from wxorder_order limit 1", 1L));
25   -// System.out.println(jdbcTemplate.queryForList("select * from wxorder_order limit 1", 2L));
26   -// System.out.println(jdbcTemplate.queryForList("select * from wxorder_order_express limit 1", 1L));
  26 +// testBroadCast();
  27 +// testSelectSubQuery();
  28 + //select子查询包含分片表
  29 + testSelectShardingSubQuery();
  30 + //where中包含子查询
  31 + testWhereSubquery();
  32 + }
  33 +
  34 + private static void testSelectShardingSubQuery() {
  35 + String sql = " select wc.name,(select count(*) from wxorder_order where) as 'sumOrderNum' from wxorder_channel wc limit 3; ";
  36 + }
27 37  
  38 + public static void testWhereSubquery() {
  39 +
  40 + }
  41 +
  42 + public static void testBroadCast() {
  43 + System.out.println(jdbcTemplateBroadcast.queryForObject("select id from wxorder_order order by id desc limit 5 ", String.class, new String[]{"wxorder_order"}));
  44 + System.out.println(jdbcTemplateWrapperTenant.queryForObject("select id from wxorder_order limit 1", Long.class, 1L));
  45 + System.out.println(jdbcTemplateWrapperTenant.queryForList("select * from wxorder_order limit 1", 1L));
  46 + System.out.println(jdbcTemplateWrapperTenant.queryForList("select * from wxorder_order limit 1", 2L));
  47 + System.out.println(jdbcTemplateWrapperTenant.queryForList("select * from wxorder_order_express limit 1", 1L));
  48 + }
  49 +
  50 + public static void testSelectSubQuery() {
28 51 String sql = " SELECT "
29 52 + " wog.`goods_number` AS saleNumber,"
30 53 + " (SELECT sum(woe.`goods_number`) from `wxorder_order_express` as woe WHERE woe.order_goods_id = wog.id and woe.tenant_id=16) as deliveryGoodsNumber, "
... ... @@ -48,8 +71,7 @@ public class TestAutoconfigure {
48 71 + " INNER JOIN wxorder_ware as ww on ww.id=wo.ware_id "
49 72 + " INNER JOIN wxorder_channel_goods as wcg on wcg.id = wog.channel_goods_id"
50 73 + " limit 10 ";
51   - JdbcTemplateWrapperTenant jdbcTemplate = context.getBean(JdbcTemplateWrapperTenant.class);
52   - List<Map<String, Object>> data = jdbcTemplate.queryForList(sql, 16L);
  74 + List<Map<String, Object>> data = jdbcTemplateWrapperTenant.queryForList(sql, 16L);
53 75 System.out.println(data);
54 76 }
55 77 }
... ...
src/test/resources/application.properties
... ... @@ -13,7 +13,7 @@ spring.gson.serialize-nulls=true
13 13 spring.mvc.dispatch-options-request=true
14 14  
15 15 # shardingspere
16   -spring.shardingsphere.datasource.names=ds0
  16 +spring.shardingsphere.datasource.names=ds1
17 17 spring.shardingsphere.datasource.common.type=com.alibaba.druid.pool.DruidDataSource
18 18 spring.shardingsphere.datasource.common.driver-class-name=com.mysql.cj.jdbc.Driver
19 19 spring.shardingsphere.datasource.ds0.url=jdbc:mysql://rdsifmezqifmezqo.mysql.rds.aliyuncs.com:3306/bzyun_wxorder?characterEncoding=UTF-8
... ... @@ -32,17 +32,17 @@ spring.shardingsphere.datasource.ds1.max-active=20
32 32 spring.shardingsphere.datasource.ds1.min-idle=5
33 33 spring.shardingsphere.datasource.ds1.max-wait=60000
34 34  
35   -#spring.shardingsphere.rules.sharding.tables.wxorder_order.actual-data-nodes=ds0.wxorder_order
36   -#spring.shardingsphere.rules.sharding.tables.wxorder_order.database-strategy.hint.algorithm-class-name=com.taover.repository.shardingsphere.ShardingDatabaseAlgorithmHint
37   -#spring.shardingsphere.rules.sharding.tables.wxorder_order.table-strategy.hint.algorithm-class-name=com.taover.repository.shardingsphere.ShardingTableAlgorithmHint
38   -#spring.shardingsphere.rules.sharding.tables.wxorder_order.key-generate-strategy.column=id
39   -#spring.shardingsphere.rules.sharding.tables.wxorder_order.key-generate-strategy.key-generator-name=SNOWFLAKE-SELF
40   -
41   -#spring.shardingsphere.rules.sharding.sharding-algorithms.database_inline.type=INLINE
42   -#spring.shardingsphere.rules.sharding.sharding-algorithms.database_inline.props.algorithm-expression=ds_0
43   -#spring.shardingsphere.rules.sharding.sharding-algorithms.table_inline.type=INLINE
44   -#spring.shardingsphere.rules.sharding.sharding-algorithms.table_inline.props.algorithm-expression=wxorder_order
45   -sql-show=true
  35 +spring.shardingsphere.rules.sharding.tables.wxorder_order.actual-data-nodes=ds0.wxorder_order
  36 +spring.shardingsphere.rules.sharding.tables.wxorder_order.database-strategy.hint.database_hint.sharding-algorithm-name=database_hint
  37 +spring.shardingsphere.rules.sharding.tables.wxorder_order.table-strategy.hint.table_hint.sharding-algorithm-name=table_hint
  38 +spring.shardingsphere.rules.sharding.tables.wxorder_order.key-generate-strategy.column=id
  39 +spring.shardingsphere.rules.sharding.tables.wxorder_order.key-generate-strategy.key-generator-name=SNOWFLAKE-SELF
  40 +
  41 +spring.shardingsphere.rules.sharding.sharding-algorithms.database_hint.type=HINT
  42 +spring.shardingsphere.rules.sharding.sharding-algorithms.database_hint.algorithm-class-name=com.taover.repository.shardingsphere.ShardingDatabaseAlgorithmHint
  43 +spring.shardingsphere.rules.sharding.sharding-algorithms.table_hint.type=HINT
  44 +spring.shardingsphere.rules.sharding.sharding-algorithms.table_hint.algorithm-class-name=com.taover.repository.shardingsphere.ShardingTableAlgorithmHint
  45 +
46 46 taover.sharding.workerId=1
47 47 taover.sharding.maxVibrationOffset=3
48 48 taover.sharding.maxTolerateTimeDifferenceMilliseconds=1000
... ...