springBoot2.x启动项目报java.sql.SQLNonTransientConnectionException
Posted 技术改变生活
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springBoot2.x启动项目报java.sql.SQLNonTransientConnectionException相关的知识,希望对你有一定的参考价值。
将项目从springBoot1.x升级到springBoot2.x,启动报错:
1 java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near \';characterEncoding=UTF8&useSSL=true?autoReconnect=true\'. 2 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110) 3 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) 4 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) 5 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) 6 at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73) 7 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:79) 8 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:131) 9 at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219)
看提示报错原因是mysql的jdbc连接字符串不符合要求
修改成前面文章的url:MySQL的JDBC驱动(8.0版本)
1 jdbc:mysql://{ip}:{port}/{db}?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&rewriteBatchedStatements=true
再次启动,还是报错,看到有错误提示:
1 Loading class `com.mysql.jdbc.Driver\'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver\'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
很明显是jdbc驱动包没配对,修改之,再次启动成功
以上是关于springBoot2.x启动项目报java.sql.SQLNonTransientConnectionException的主要内容,如果未能解决你的问题,请参考以下文章
springboot2.X集成RabbirMQ延迟交换机报错unknown exchange type ‘x-delayed-message‘ 找不到队列
springboot2.X集成RabbirMQ延迟交换机报错unknown exchange type ‘x-delayed-message‘ 找不到队列