Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection

报错:连接数据库失败

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sat Jun 06 15:50:05 CST 2020
There was an unexpected error (type=Internal Server Error, status=500).
nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. ### The error may exist in file [E:\ideaworkspaces\Test\Test03_mybatis\target\classes\mapper\HeroDao.xml] ### The error may involve com.ctgu.dao.HeroDao.queryById ### The error occurred while executing a query ### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.

可能的原因

1. 连接数据库的URL时区设置

  • UTC代表的是全球标准时间 ,但是我们使用的时间是北京时区也就是东八区,比实际时间要早8小时。
  • UTC + (+0800) = 本地(北京)时间
  • 在URL后面加上serverTimezone=UTC属性
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=UTF8&autoReconnect=true

2. mysql-connector-java版本

我用的是mysql8.0而老师用的是5.0版本,依赖版本需要和mysql版本一致

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
<!--            <version>5.1.44</version>-->
<!--            mysql版本-->
<!--            <version>8.0.11</version>-->
            <version>8.0.20</version>
        </dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值