mysql-connector-java 8.0.20的坑---server time zone

近日,笔者在使用mysql-connector-java.jar 8.0.20版连接本地mysql数据库时,把项目运行起来,发现jsp页面疯狂报错。错误信息如下所示:

java.sql.SQLException: The server time zone value is unrecognized or represents more than one time zone. you must configure either the server or JDBC driver(via the 'serverTimezone' configuration property) to use a more specific time zone value if you want to unilize zone support.

翻译后为:

服务器时区值无法识别或表示多个时区。如果您想使区域支持单边化,则必须配置服务器或JDBC驱动程序(通过“serverTimezone”配置属性),以使用更具体的时区值。

mysql-connector-java 8.0.20的坑---server time zone_第1张图片

原因:

使用高版本(8.0+)的mysql-connector-java.jar连接数据库时需要指定时区信息。

解决方法:

在数据库的url地址后加一个serverTimezone参数,值为Asia/ShanghaiGMT%2B8

解释:

中国所在时区为东八区,上面两个值都是表示东八区,%2B表示的是+号,即GMT+8,但是+号在mysql中可能乱码。

 


注意:

当使用高版本(8.0+)的mysql-connector-java.jar连接数据库时,com.mysql.cj.jdbc.Driver类在中间加了cj.

你可能感兴趣的:(趟雷,java)