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") + "");
        }
    }
}

 

 

posted @ 2019-11-19 22:01  图图小淘气_real  阅读(2918)  评论(0编辑  收藏  举报