省流
在sharding.yaml中配置数据库不要用官方给的属性名,要用你所使用的连接池配置的属性名,我这里用的是druid
属性 | 官方属性名 | druid属性名 |
驱动类 | driverClassName | driver-class-name |
dr数据库地址 | jdbcUrl | url |
# sharding.yaml
dataSources: # 主数据源 master: dataSourceClassName: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://200.0.0.130:3306/reggie?serverTimezone=Asia/Shanghai&useSSL=false&characterEncoding=utf-8 username: root password: rootrules: - !SINGLE tables: - "*.*" defaultDataSource: master
诉苦
自学真的很难,有个老师能给你解决很多事,这个问题困扰了我两天,我搜了两天没找到解决办法,最后还是在官方文档里找到了问题所在,其实就是心急没细看帮助文档
问题分析
官方的用户文档一定要仔细看,他的每一句话放在那都是有原因:
数据源配置 :: ShardingSphere (apache.org)
帮助文档写的很明确,要你用连接池的配置参数
除了dataSourceClassName不用改名字,其他的属性要按照连接池的属性名来配置
PS:我也不知道是不是我这的问题,druid的这个参数交type,但是我改type会报错,说找不到dataSourceClassName这个属性