一、该问题的重现步骤是什么?
我使用sharding分库分表 在数据配置了jdbc和sharding配置
#数据源配置
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为这个数据源 并且重启项目
3. 我在list接口上加
@ShardingDS
二、你期待的结果是什么?实际看到的又是什么?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
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
五、若有更多详细信息,请在下面提供。
扫一扫访问 Blade技术社区 移动端