MySQL8和MySQL5.1、5.5、5.6、5.7的数据库驱动有所变化,需要做一些调整。
使用源码开发的,可以修改pom.xml
,将jdbc驱动改为MySQL8的驱动:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.22</version>
</dependency>
使用程序部署到tomcat的,可以替换/WEB-INF/lib
目录下的JDBC驱动文件。用mysql-connector-java-8.0.x.jar
替换mysql-connector-java-5.1.x.jar
。
MySQL8 JDBC 驱动下载:mysql-connector-java-8.0.22.jar
驱动类:com.mysql.jdbc.Driver
改为com.mysql.cj.jdbc.Driver
。
数据库连接:jdbc:mysql://127.0.0.1:3306/jspxcms?characterEncoding=utf8
改为jdbc:mysql://127.0.0.1:3306/jspxcms?serverTimezone=Asia/Shanghai
使用源码开发的,修改/src/main/resources/application.properties
。
使用程序部署到tomcat的,修改/WEB-INF/classes/application.properties
。
# 原配置
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jspxcms?characterEncoding=utf8
# 修改后配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jspxcms?serverTimezone=Asia/Shanghai
注意:如果配置为serverTimezone=UTC
,会导致日期字段出现时差,因为我们用的是北京时间(上海时间、东八区时间、UTC+8),就是国际时加八小时。
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/jspxcms?characterEncoding=utf8&useSSL=false