问题解决:spring-boot3+sharding5.5+Druid连接数据库报错:java.lang.NullPointerException或连不上数据库

省流

在sharding.yaml中配置数据库不要用官方给的属性名,要用你所使用的连接池配置的属性名,我这里用的是druid

属性官方属性名druid属性名
驱动类driverClassNamedriver-class-name
dr数据库地址jdbcUrlurl

# 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: root
rules:
  - !SINGLE
    tables:
      - "*.*"
    defaultDataSource: master

诉苦

自学真的很难,有个老师能给你解决很多事,这个问题困扰了我两天,我搜了两天没找到解决办法,最后还是在官方文档里找到了问题所在,其实就是心急没细看帮助文档

问题分析

官方的用户文档一定要仔细看,他的每一句话放在那都是有原因:

数据源配置 :: ShardingSphere (apache.org)

帮助文档写的很明确,要你用连接池的配置参数

除了dataSourceClassName不用改名字,其他的属性要按照连接池的属性名来配置

PS:我也不知道是不是我这的问题,druid的这个参数交type,但是我改type会报错,说找不到dataSourceClassName这个属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值