sharding分库分表

Blade 未结 1 139
嘻嘻哈哈
嘻嘻哈哈 2024-10-07 11:45

一、该问题的重现步骤是什么?

  1.   我使用sharding分库分表 在数据配置了jdbc和sharding配置

image.png

image.png

#数据源配置

dataSources:

  #第一数据源

  boot4102:

    #连接池

    dataSourceClassName: com.zaxxer.hikari.HikariDataSource

    #驱动类

    driverClassName: com.mysql.jdbc.Driver

    #链接地址

    jdbcUrl: jdbc:mysql://localhost:3306/boot4102?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true

    #用户名

    username: root

    #密码

    password: root

rules:

- !SHARDING

  #主键生成类型

  keyGenerators:

    snowflake:

      type: SNOWFLAKE

  tables:

    #分表代号

    blade_notice:

      #注意这里的数据源写真实名字dataSources.[bladex], [bladex].blade_notice 否则会映射失败

      #实际节点名称,格式为 库名$->{0..n1}.表名$->{0..n2}

      #blade_notice_$->{1..2} 代表有 blade_notice_1和blade_notice_2两个表

      actualDataNodes: boot4102.blade_notice_$->{1..2}

      #分表策略

      tableStrategy:

        standard:

          #分表列名

          shardingColumn: id

          #分表算法名,不可用下划线

          shardingAlgorithmName: blade-notice-inline

      #主键生成策略

      keyGenerateStrategy:

        #主键名

        column: id

        #策略算法

        keyGeneratorName: snowflake

  #分库分表算法

  shardingAlgorithms:

    #分表算法名

    blade-notice-inline:

      #算法类型

      type: INLINE

      props:

        #算法表达式

        #表达式写法非常自由,以下配置仅作为参考

        #blade_notice_$->{id % 2 + 1} 代表对id进行取余,根据id的基偶来指向blade_notice_1和blade_notice_2

        algorithm-expression: blade_notice_$->{id % 2 + 1}

2. 并在租户下面配置租户000000为这个数据源 并且重启项目

image.png

image.png

image.png

3. 我在list接口上加 

@ShardingDS

image.png

image.png

二、你期待的结果是什么?实际看到的又是什么?

   

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

 boot410 window10

四、请提供详细的错误堆栈信息,这很重要。

### Error querying database.  Cause: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'shardingSphereDataSource' available

### Cause: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'shardingSphereDataSource' available

image.png

五、若有更多详细信息,请在下面提供。

1条回答
  •  admin
    admin (楼主)
    2024-10-08 00:23

    这两个依赖打开注释,重新刷新工程依赖后再试试

    CleanShot20241008002257@2x.png

    0 讨论(0)
提交回复