shaydingJdbc使用yml格式分库分表配置

1、定义数据源

#定义数据源
  # 数据源 ds0 第一个数据库
  shardingsphere:
    datasource:
      #数据源名称
      names: ds0
      #第一个库
      ds0:
        connectionTimeoutMilliseconds: 30000
        driver-class-name: com.mysql.cj.jdbc.Driver
        idleTimeoutMilliseconds: 60000
        jdbc-url: jdbc:mysql://xxxx:3306/xxx?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
        maintenanceIntervalMilliseconds: 30000
        maxLifetimeMilliseconds: 1800000
        maxPoolSize: 50
        minPoolSize: 50
        password: xxxx
        type: com.zaxxer.hikari.HikariDataSource
        username: root

2、#分库策略

#分库策略
    sharding:
      tables:
        product_order:#表名称
          #分库
          database-strategy:
            inline:
              sharding-column: account_no #分库对应的键
              algorithm-expression: ds$->{account_no % 2} #分库的策略

3、分表策略

#分表             
          actual-data-nodes: ds0.product_order_$->{0..1} #指定表的分布情况
          #水平分表策略+行表达式分片
          table-strategy:
            inline:
              sharding-column: account_no #分库对应的键
              algorithm-expression: product_order_$->{ account_no % 2 } #分表的策略 

4、id生成策略

#id生成策略
          key-generator:
            column: id
            props:
              worker:
                id: ${workId}#需要不同的workId,不然Id会重读
            #id生成策略
            type: SNOWFLAKE

5、如果有的表不需要分库,配置默认的数据源

 #----------配置默认数据库,⽐如用户,不分库分表--------
      default-data-source-name: ds0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值