我看到了类似这样的异常。请帮助我。
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
这是我尝试执行以建立连接的程序。
import java.sql.*;
class Connect
{
public static void main(String args[])
{
try{
String dbUrl="jdbc.mysql://localhost:3306/EMPLOYEE";
String username="root";
String password="avinash";
Class.forName("com.mysql.jdbc.Driver");
Connection myconnection=DriverManager.getConnection(dbUrl,username,password);
Statement mystatement=myconnection.createStatement();
ResultSet myresultset=mystatement.executeQuery("select * from EMPLOYEE");
}catch(Exception e){
System.out.println(e);
}
}
}
答案1
我找到了解决方案。第一个错误是在这里。我输入的jdbc.mysql://localhost:3306/EMPLOYEE
是 而不是jdbc:mysql://localhost:3306/EMPLOYEE
。也就是说,一个点(.)代替冒号(:)在上面的语句中,jdbc 之后。更正此错误后,我收到另一个错误,提示:
2019 年 3 月 28 日星期四 15:38:38 IST 警告:不建议在未进行服务器身份验证的情况下建立 SSL 连接。根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则必须默认建立 SSL 连接。为了符合未使用 SSL 的现有应用程序的要求,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 来显式禁用 SSL,或者设置 useSSL=true 并提供信任库以进行服务器证书验证。
?useSSL=false
然后我在语句中设置String dbUrl="jdbc:mysql://localhost:3306/EMPLOYEE?useSSL=false";
然后我成功执行了该程序。
Java:
import java.sql. * ;
class Connect {
public static void main(String args[]) {
try {
String dbUrl = "jdbc:mysql://localhost:3306/EMPLOYEE?useSSL=false";
String username = "root";
String password = "avinash";
Class.forName("com.mysql.jdbc.Driver");
Connection myconnection = DriverManager.getConnection(dbUrl, username, password);
Statement mystatement = myconnection.createStatement();
ResultSet myresultset = mystatement.executeQuery("select * from EMPLOYEES");
System.out.println("Connected");
while (myresultset.next()) {
System.out.println("Employee ID : " + myresultset.getString("ID"));
System.out.println("Employee Age : " + myresultset.getString("AGE"));
System.out.println("Employee Name : " + myresultset.getString("FIRST_NAME") + " " + myresultset.getString("LAST_NAME"));
}
} catch(Exception e) {
System.out.println(e);
}
}
}
...输出...
$ javac Connect.java
$ java -cp .:mysql-connector-java-5.1.47-bin.jar Connect
Connected
Employee ID : 100
Employee Age : 18
Employee Name : zaara ali
Employee ID : 101
Employee Age : 20
Employee Name : manam naman
Employee ID : 102
Employee Age : 22
Employee Name : zaid khan
Employee ID : 103
Employee Age : 24
Employee Name : sumith das
但有疑问。为什么要这样运行这个程序,使用这个命令?
java -cp .:mysql-connector-java-5.1.47-bin.jar Connect
请帮忙:)
答案2
您需要将 mysql 连接器添加到您的项目中。
有很多方法和工具可以做到这一点,我在这里向你推荐一种。
连接器可以在以下位置下载:mysql 网站. 选择“平台独立”以获取包含 JAR 文件的档案。
然后解压缩下载的档案并将 JAR 文件与您的项目源一起移动。
然后,您可以使用 IDE 将其添加到项目中。例如,这是使用 Eclipse 时要遵循的程序(2018-09 - 更多详细信息请参阅这个帖子):
在项目资源管理器中,右键单击您的项目
选择属性
在属性窗口中,单击左侧面板中的“Java 构建路径”
在 Java 构建路径中,单击“Librairies”选项卡
选择 Classpath 并使用右侧的“添加 JAR”按钮