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

文章来源于互联网:jdbc连接数据库 The server time zone value ‘�й���׼ʱ��’ is unrecognized or represents more… 错误

发表评论