springboot2 接入shardingsphere-jdbc-core-spring-boot-starter

环境 springboot+mybatis-plus+driud

注:druid引入方式请不要使用boot-starter方式

 <dependency>
       <groupId>org.apache.shardingsphere</groupId>
       <artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
       <version>5.2.0</version>
 </dependency>

yml配置

  shardingsphere:
    mode:
      type: Standalone
    schema:
      name: multit-tenant
    props:
      sql-show: false
    datasource:
      # 配置真实数据源
      names: ds0
      ds0: # 配置第 1 个数据源
        type: ${spring.datasource.type}
        driver-class-name: ${spring.datasource.driverClassName}
        url: ${spring.datasource.url}
        username: ${spring.datasource.username}
        password: ${spring.datasource.password}
    rules: # 配置  表规则
      sharding:
        tables:
          user_operation_log: # 分表,表名
            # 配置分库策略
            # 由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
            actual-data-nodes: ds0.user_operation_log_$->{202411..202412}  #数据节点,均匀分布
            table-strategy:  # 配置分表策略
              standard:
                sharding-column: create_time
                sharding-algorithm-name: table-inline
        # 配置 分片算法
        sharding-algorithms:
          table-inline:
            type: INLINE
            props:
              algorithm-expression: user_operation_log_$->{create_time.toString().substring(0, 7).replace("-", "")}  #按模运算分配
              allow-range-query-with-inline-sharding: true

 

以上代码可正常执行

posted @ 2024-11-11 17:51  那知归不归  阅读(66)  评论(0编辑  收藏  举报