mysql8.0.19
mysql-connector-java-8.0.20.jar
IntelliJ IDEA 2020.1.1 (Ultimate Edition)
import java.sql.Connection;
import java.sql.DriverManager;
public class DBConnection {
// MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
private static final String Driver = "com.mysql.cj.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/testweb?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8";
// 数据库的用户名与密码,需要根据自己的设置
private static final String USER = "root";
private static final String PASSWORD = "KBjiayou666";
private Connection conn = null;
public DBConnection() throws Exception { //进行数据库的连接
try{
Class.forName(Driver);
this.conn = DriverManager.getConnection(URL,USER,PASSWORD);
} catch (Exception e){
throw e;
}
}
public Connection getConnection(){ //取得与数据库的连接
return this.conn;
}
public void close() throws Exception{ //关闭数据库的连接
if(this.conn !=null){
try {
this.conn.close();
}catch (Exception e){
throw e;
}
}
}
}
在 Class.forName(Driver)出错了,报错信息java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
造成此问题的原因有:
-
驱动名错误,没有和mysql版本对应。
-
idea没有导入connector的jar包
so on…
分析:
由于 MySQL 8.0 以上版本 - JDBC 驱动名有个cj,
所以我确保没有写错驱动名以及URL
// MySQL 8.0 以下版本 - JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB";
// MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
//static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";
//static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&serverTimezone=UTC";
具体请参考runoob的java连接数据库教程(点击传送门)
于是尝试解决问题2
点击file ->project structure
点击OK
重启IDEA
再运行java程序 ok~