将项目从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驱动包没配对,修改之,再次启动成功