jdbc连接数据库 The server time zone value '�й���׼ʱ��' is unrecognized or represents more... 错误

jdbc连接数据库 The server time zone value '�й���׼ʱ��' is unrecognized or represents more... 错误

问题描述

连接数据库代码示例

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
static String host = "localhost";
static int port = 3306;
static String database = "demo";
static String encoding = "UTF-8";
static String loginName = "root";
static String password = "root";
static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnction() throws SQLException {
String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s", host, port, database, encoding);
return DriverManager.getConnection(url, loginName, password);
}
public static void main(String[] args) throws SQLException {
System.out.println(getConnction());
}

}

运行main方法却出现异常

Exception in thread "main" 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.

解决方法

根据异常提示可知需要添加对应的时区,修改url即可

String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s&serverTimezone=UTC", host, port, database, encoding);

完整代码

package cn.niriqiang.tmail.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class DBUtil {
static String host = "localhost";
static int port = 3306;
static String database = "demo";
static String encoding = "UTF-8";
static String loginName = "root";
static String password = "root";
static {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnction() throws SQLException {
String url = String.format("jdbc:mysql://%s:%d/%s?characterEncoding=%s&serverTimezone=UTC", host, port, database, encoding);
return DriverManager.getConnection(url, loginName, password);
}
public static void main(String[] args) throws SQLException {
System.out.println(getConnction());
}
}

运行main方法成功

com.mysql.cj.jdbc.ConnectionImpl@1e0f4f

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,899评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,235评论 0 11
  • 第一期跟阁阁老师学萌宠,第二期又跟着画Q版人物,26号开始。今天是公开课,先热个身。 先上成品图。 下面是过程图。...
    陌上花开一水间阅读 3,468评论 17 8
  • 豆豆这样的学琴状态持续一周之后,某天在他和我共同心烦气躁之后,我打了他的手板,打过之后认真地找他谈。他认为我俩的不...
    暖儿_8833阅读 1,521评论 0 0
  • 在上一周学到了“成本”这个经济学概念,今天主要谈谈本周的两大知识收获,主要有以下两个关键词组成: 1、第一性原理 ...
    三木鲜森阅读 4,476评论 0 51