Hibernate连接MYSQL失败提示时区错误该怎么解决?

平台:

  • WIN10 X64 专业版。

  • IDEA 2016.1.1.

  • MYSQL 5.7.12

  • hibernate 4.2.2

具体问题:

用hibernate连接MYSQL数据库的时候提示

ERROR: 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.

提示说服务器时区设置错误,我就用 MySQL Workbench 使用show variables like '%time_zone%'; 命令查看时区,显示如下图所示:
https://img3.mukewang.com/5cb97d2700017f8404230142.jpg

很奇怪。。。。系统时区不显示(难道内容是中文?所以显示不出来?)。

请问该怎么解决?

以下是

hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD//EN"

        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>

        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>

        <property name="connection.url">jdbc:mysql://localhost:3306/xk_demo</property>

        <property name="connection.username">root</property>

        <property name="connection.password">5566</property>

        <property name="connection.pool_size">1</property>

        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <property name="current_session_context_class">thread</property>

        <property name="show_sql">true</property>


        <mapping class="com.hib.db.XkMapEntity"/>

        <mapping resource="com/hib/db/XkMapEntity.hbm.xml"/>

        <!-- DB schema will be updated if needed -->

        <!-- <property name="hbm2ddl.auto">update</property> -->

    </session-factory>

</hibernate-configuration>

和自己写的测试demo:

import com.hib.db.XkMapEntity;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;


SMILET
浏览 1010回答 3
3回答

宝慕林4294392

在&nbsp;connection.url&nbsp;值的后面追加?serverTimezone=UTCIDEA DataBase 中连接不上可以用同样的办法。题主可以在 mysql 中执行命令试下:set global time_zone='+8:00'

天涯尽头无女友

追加?serverTimezone=UTC就能写入数据库了,但是如果是?serverTimezone=UTC+8的话就会提示如下图的错误:最后,IDEA依然提示数据库连接不上,但是却能正常向数据库写入数据,如下图所示:

胡说叔叔

使用 GMT+8 可用。?zeroDateTimeBehavior=convertToNull&amp;serverTimezone=GMT%2b8
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java