MySQL8.0數據庫連接問題


Java連接MySQL8.0以上版本數據庫方式:

1、com.mysql.jdbc.Driver 更換為 com.mysql.cj.jdbc.Driver

2、MySQL 8.0 以上版本不需要建立 SSL 連接的,需要顯式關閉。

jdbc:mysql://localhost:3306/數據庫名?useSSL=false&serverTimezone=UTC

3、 8.0版本的mysql數據的連接 與 5.0的有所不同,下面直接貼出 8.0版本應該有的 jdbc驅動連接,還有 mysql 的jdbc jar包要8.0以上的

<!-- mysql驅動包依賴 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.11</version>
    </dependency>

配置文件:

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=localhost:3306/數據庫名?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=root

 

4.測試連接是否成功:

package util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {
    @SuppressWarnings("unused")
    private static Test JDBCUtlTool;

    public static Connection getConnection() {
        String driver = "com.mysql.cj.jdbc.Driver"; // 獲取mysql數據庫的驅動類
        String url = "jdbc:mysql://localhost:3306/zhcs?useSSL=false&serverTimezone=UTC&characterEncoding=UTF-8"; // 連接數據庫(zhcs是數據庫名)
        //String url="jdbc:mysql://localhost:3306/zhcs?useSSL=true&serverTimezone=GMT&characterEncoding=UTF-8";
    
        String name = "root";// 連接mysql的用戶名
        String pwd = "123456";// 連接mysql的密碼
        try {
            Class.forName(driver);
            Connection conn = DriverManager.getConnection(url, name, pwd);// 獲取連接對象
            return conn;
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return null;
        } catch (SQLException e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void closeAll(Connection conn, PreparedStatement ps, ResultSet rs) {
        try {
            if (rs != null) {
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            if (ps != null) {
                ps.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        try {
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) throws SQLException {
        Connection cc = getConnection();
        if (!cc.isClosed())
            System.out.println("Succeeded connecting to the Database!");
        Statement statement = cc.createStatement();
        String sql = "select * from  t_r_webfun";
        ResultSet rs = statement.executeQuery(sql);
        while (rs.next()) {
            System.out.println(rs.getString("F_ID") + "");
        }
    }
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM