JDBCでThe server time zone value'???ú±ê×??±??' is......のエラー

1276 ワード

JDBCで使用する場合java.sql.SQLException:The server time zone value'???ú±ê×??±??' is unrecognized or represents........のエラー、具体的なエラーは以下の通りです: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 specifc time zone value if you want to utilize time zone support. at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.16.jar:8.0.16] at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.16.jar:8.0.16]
これはmysqlが返す時間に常に問題があり、実際の時間より8時間早いためです.
解決策
public static final String URL="jdbc:mysql://localhost:3306/jdbc01?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";//リンクのmysqlはjdbc接続のurlの後ろにserverTimezone=GMTを付けて問題を解決し、gmt+8タイムゾーンを使用する必要がある場合はGMT%2 B 8と書く必要があります