Mysql客戶端工具能夠鏈接,可是代碼訪問就會報錯

在執行以下代碼的時候,客戶端工具是能夠鏈接的:html

 

可是用代碼去訪問的時候,卻老是報錯誤:java

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.
    com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:127)
    com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:95)
    com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:87)
    com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:61)
    com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:71)
    com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
    com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:862)
    com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:444)
    com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:230)
    com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)
--------------------- 
做者:Going_cc 
來源:CSDN 
原文:https://blog.csdn.net/weixin_39033443/article/details/81711306 
版權聲明:本文爲博主原創文章,轉載請附上博文連接!mysql

代碼鏈接mysql的demo以下:sql

public static void main(String[] args) {
    
    Connection conn = null;
    Statement stmt = null;
    try{

        String driver = "com.mysql.jdbc.Driver";
        String url = "jdbc:mysql://127.0.0.1:3306/activiti";
        String dbName = "root";
        String password = "123456";

        // 註冊 JDBC 驅動
        Class.forName(driver);

        // 打開連接
        System.out.println("鏈接數據庫...");
        conn = DriverManager.getConnection(url,dbName,password);

        // 執行查詢
        System.out.println(" 實例化Statement對象...");
        stmt = conn.createStatement();
        String sql;
        sql = "SELECT rid, rolename FROM role";
        ResultSet rs = stmt.executeQuery(sql);

        // 展開結果集數據庫
        while(rs.next()){
            // 經過字段檢索
            int rid  = rs.getInt("rid");
            String rolename = rs.getString("rolename");

            // 輸出數據
            System.out.print("ID: " + rid);
            System.out.print(", 站點名稱: " + rolename);
            System.out.print("\n");
        }
        // 完成後關閉
        rs.close();
        stmt.close();
        conn.close();
    }catch(SQLException se){
        // 處理 JDBC 錯誤
        se.printStackTrace();
    }catch(Exception e){
        // 處理 Class.forName 錯誤
        e.printStackTrace();
    }finally{
        // 關閉資源
        try{
            if(stmt!=null) stmt.close();
        }catch(SQLException se2){
        }// 什麼都不作
        try{
            if(conn!=null) conn.close();
        }catch(SQLException se){
            se.printStackTrace();
        }
    }
    System.out.println("Goodbye!");
}

後經查詢,引入以下方法解決:數據庫

https://www.cnblogs.com/ljy-20180122/p/9157912.htmlapp

即執行命令:工具

show variables LIKE '%time_zone%';url

set global time_zone = '+8:00';spa

話很少說,從錯誤便可知道是時區的錯誤,所以只要將時區設置爲你當前系統時區便可,.net

   所以使用root用戶登陸mysql,按照以下圖所示操做便可。

       

     我電腦的系統爲北京時區,所以在系統中設置後,再鏈接數據庫運行,一切OK!

相關文章
相關標籤/搜索