pigx集成sharding jdbc

 

pom依赖:

复制代码
<properties>
        <sharding-sphere.version>4.1.1</sharding-sphere.version>
</properties>


<dependencies>
    <!-- for spring boot -->
    <dependency>
        <groupId>org.apache.shardingsphere</groupId>
        <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
        <version>${sharding-sphere.version}</version>
    </dependency>
</dependencies>
复制代码

 

nacos:

spring:
  datasource:
   type: com.alibaba.druid.pool.DruidDataSource
   druid:
     driver-class-name: com.mysql.cj.jdbc.Driver
     username: root
     password: root
     url: jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8

改为如下分片配置:

复制代码
# 数据源
spring:
  shardingsphere:
    datasource:
      names: ds0, ds1, defaultds
      defaultds:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://pigx-mysql:3306/testdb
        username: root
        password: root
      ds0:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://pigx-mysql:3306/testdb_0
        username: root
        password: root
      ds1:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://pigx-mysql:3306/testdb_1
        username: root
        password: root
    sharding:
      tables:
        test_user:
          actualDataNodes: ds${0..1}.test_user
          databaseStrategy:
            inline:
              shardingColumn: id
              algorithmExpression: ds${id % 2}
          tableStrategy:
            inline:
              shardingColumn: id
              algorithmExpression: test_user
          keyGenerator:
            type: SNOWFLAKE
            column: id
      defaultDataSourceName: defaultds
      defaultTableStrategy:
        none:
      defaultKeyGenerator:
        type: SNOWFLAKE
        column: xxxx_replace_must
    props:
      sql.show: true
复制代码

 

在启动类上把原本Druid的Datasource去掉,不要autoconfigure

1
@EnableAutoConfiguration(exclude={DruidDataSourceAutoConfigure.class})

  

posted @   McKay  阅读(504)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示