美文网首页
jdbc连接数据库 The server time zone v

jdbc连接数据库 The server time zone v

作者: 风雨雾凇 | 来源:发表于2018-01-14 12:12 被阅读0次

    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 v

          本文链接:https://www.haomeiwen.com/subject/uujkoxtx.html