zoukankan      html  css  js  c++  java
  • 连接数据库: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 prop

    本打算在maven项目中配置mybatis试试看,想到mybatis如果不是在容器中运行,那么他的事务控制实际上可以使用的是jdbc的提交和回滚,这就要在pom.xml文件中配置mysql-connector-java了,找到一个网站https://mvnrepository.com/,里面可以索引maven中心仓库,搜索mysql-connector-java

    我选择了6.0.6进行配置

    这下就出问题了,运行了一个jdbc程序,就出现标题所提到的问题了,是因为数据库驱动版本太高了,数据库和系统时区的差异所造成的,解决办法有两个:

    一、换成低版本的驱动,比如5.1.43版本的

    二、在mysql中执行命令

    set global time_zone='+8:00'

    或者在数据库驱动的url后加上serverTimezone=UTC参数(时区参数)

    如果serverTimezone是第一个参数(?后面就是),则

    jdbc:mysql://localhost/tradeonline?serverTimezone=GMT

    如果serverTimezone不是第一个参数,则

    jdbc:mysql://localhost/tradeonline?characterEncoding&serverTimezone=GMT

    但是这样写会报错的The reference to entity “serverTimezone” must end with the ‘;’ delimiter. (对"serverTimezone"的引用必须以';'分隔符结尾)的错误提示,将代码改为:

    jdbc:mysql://localhost/tradeonline?characterEncoding&serverTimezone=GMT

    因为在XML配置时,要用&代替。另外,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。(PS:数据库驱动JDBC新版本的名字改成了com.mysql.cj.jdbc.Driver)

  • 相关阅读:
    猎户、双子、英仙
    第二卦,还叫我保持现状?
    昨晚的第三卦,就快万劫不复了
    明天要出去办事,看看情况
    luogu P3939 数颜色 |vector
    luogu P2701 [USACO5.3]巨大的牛棚Big Barn |动态规划
    luogu P2345 奶牛集会 |排序+树状数组
    luogu P4943 密室 |最短路
    luogu P4343 [SHOI2015]自动刷题机 |二分答案
    luogu P3110 [USACO14DEC]驮运Piggy Back |最短路
  • 原文地址:https://www.cnblogs.com/baotong-9396/p/8012265.html
Copyright © 2011-2022 走看看