IntelliJ IDEA中遇到服务器时区值‘�й���׼ʱ��‘ 无法识别或表示多个时区。

显示代码错误如下: jdbc一直连接不成功

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)
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at
com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at
com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
at
com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:447)
at
com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
at
com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
at java.sql.DriverManager.getConnection(DriverManager.java:664) at
java.sql.DriverManager.getConnection(DriverManager.java:247) at
com.wenwen.jdbctemplate.util.JDBCUtil.getConn(JDBCUtil.java:15) at
com.wenwen.jdbctemplate.JdbcTemplate.queryList(JdbcTemplate.java:43)
at
com.wenwen.jdbctemplate.dao.impl.UserDaoJdbcImpl.sel(UserDaoJdbcImpl.java:27)
at com.wenwen.jdbctemplate.test.Client.main(Client.java:13) Caused
by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: 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
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at
com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at
com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)
at
com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2139)
at
com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2163)
at
com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1301)
at
com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:958)
at
com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:817)
… 9 more Exception in thread “main” java.lang.NullPointerException
at
com.wenwen.jdbctemplate.JdbcTemplate.queryList(JdbcTemplate.java:45)
at
com.wenwen.jdbctemplate.dao.impl.UserDaoJdbcImpl.sel(UserDaoJdbcImpl.java:27)
at com.wenwen.jdbctemplate.test.Client.main(Client.java:13)

Process finished with exit code 1

我试了有以下方法:

  • 方法一:
    在pom.xml中加<scope>runtime</scope>,主要原因可能是版本太高导致的在这里插入图片描述

  • 方法二:
    不加版本号或者版本号为6以上,解决方式:在连接数据库的配置文件中加上以下,时区亚洲/上海 别的博主哪里看到的学习到的加时区的方法
    不过啦我也没有用到,应该对有些需要人用的到。
    8.0.17
    mysql版本为8.0.17,是比较特殊的版本类型,所以我的mysql语句是这样的

  • 方法三:
    更改一下mysql的时区即可
    在这里插入图片描述
    查看时区配置:

show variables like '%time_zone%';

更改为当前时区:

set global time_zone='+8:00';

从这个博主哪里偷师过来的,我用第三种一下就成功啦啦!!!终于改出来bug了!撒花!!撒花!!

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值