我正在尝试连接到本地主机上的数据库。Mysql正在运行,数据库名称为employees。我确认端口、用户名和密码正确无误。
java、class和jar文件位于同一文件夹中。我尝试将jar文件添加到系统环境变量中的CLASSPATH中,并尝试使用-cp添加它,如下所示。
javac -cp . relearnjdbc.java
javac -cp ./mysql-connector-java-8.0.20.jar relearnjdbc.java
javac -cp *.jar relearnjdbc.java我还尝试将文件分离到它们自己的文件夹src、class和bin中。
javac -cp ../bin -d ../class relearnjdbc.java这是我的代码
public class relearnjdbc {
public static String url = "jdbc:mysql://localhost:3306/employees";
public static String username = "root";
public static String password = "root";
public static void main(String[] args){
System.out.println("Connecting to DB...");
try{
//Class.forName("com.mysql.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver").newInstance();
//Connection connection = DriverManager.getConnection(url, username, password);
DriverManager.getConnection(url, username, password);
System.out.println("Connected!");
}catch (Exception e){
throw new IllegalStateException("cannot connect to DB ", e);
}
}
}这些给了java.lang.ClassNotFoundException。我知道它被弃用了,但在许多类似问题的答案中都有它。
Class.forName("com.mysql.jdbc.Driver").newInstance();
Class.forName("com.mysql.jdbc.Driver");我没有使用IDE、tomcat、netbeans、apache、phpadmin或其他任何东西。据我所知,许多其他问过这个问题的人正在使用其中的一个,或者他们的类路径中没有jar文件。
发布于 2020-07-08 05:03:12
在java.sql.Driver连接器/J中实现MySQL的类名已从com.mysql.jdbc.Driver更改为com.mysql.cj.jdbc.Driver.旧的类名已被弃用docs
试试Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
https://stackoverflow.com/questions/62783801
复制相似问题