Spring Boot starter 数据分片配置说明

    1. # 数据源的公共配置
    2. spring.shardingsphere.datasource.common.type=com.zaxxer.hikari.HikariDataSource
    3. spring.shardingsphere.datasource.common.driver-class-name=com.mysql.cj.jdbc.Driver
    4. # 数据源的名称,下面jdbc-url,username,password得加上数据源名称
    5. spring.shardingsphere.datasource.names=test0,test1
    6. spring.shardingsphere.datasource.test0.jdbc-url=jdbc:mysql://localhost:3306/test0
    7. spring.shardingsphere.datasource.test0.username=root
    8. spring.shardingsphere.datasource.test0.password=Fuyu.742423672
    9. spring.shardingsphere.datasource.test1.jdbc-url=jdbc:mysql://localhost:3306/test1
    10. spring.shardingsphere.datasource.test1.username=root
    11. spring.shardingsphere.datasource.test1.password=Fuyu.742423672
    12. # SQL 日志
    13. spring.shardingsphere.props.sql-show=true
    14. # 配置test库中的user表规则,表示有两个库,每个库三个表
    15. spring.shardingsphere.rules.sharding.tables.user.actual-data-nodes=test$->{0..1}.user_$->{0..2}
    16. # 配置user表的分库策略
    17. spring.shardingsphere.rules.sharding.tables.user.database-strategy.standard.sharding-column=id
    18. # 分库策略的算法名,该值会用在具体算法的配置名中
    19. spring.shardingsphere.rules.sharding.tables.user.database-strategy.standard.sharding-algorithm-name=database-inline
    20. # 配置分库策略的算法类型,此处为行表达式分片算法
    21. spring.shardingsphere.rules.sharding.sharding-algorithms.database-inline.type=INLINE
    22. # 行表达式分片算法的行表达式
    23. spring.shardingsphere.rules.sharding.sharding-algorithms.database-inline.props.algorithm-expression=test$->{id % 2}
    24. # 配置user表的分表策略
    25. spring.shardingsphere.rules.sharding.tables.user.table-strategy.standard.sharding-column=user_id
    26. spring.shardingsphere.rules.sharding.tables.user.table-strategy.standard.sharding-algorithm-name=hash-mod
    27. # 此处为哈希取模
    28. spring.shardingsphere.rules.sharding.sharding-algorithms.hash-mod.type=HASH_MOD
    29. # 对3取模
    30. spring.shardingsphere.rules.sharding.sharding-algorithms.hash-mod.props.sharding-count=3
    31. # 配置user表的主键生成算法,此处采用雪花算法
    32. spring.shardingsphere.rules.sharding.tables.user.key-generate-strategy.column=id
    33. spring.shardingsphere.rules.sharding.tables.user.key-generate-strategy.key-generator-name=snowflake
    34. # 分布式序列算法配置
    35. spring.shardingsphere.rules.sharding.key-generators.snowflake.type=SNOWFLAKE
    36. spring.shardingsphere.rules.sharding.key-generators.snowflake.props.worker-id=123