为什么我无法将 MySQL 数据库连接到简单 Java 程序?使用所有软件的更新版本
Why I can't connect MySQL database to Simple Java program ? Using updated versions of all softwares
我收到此错误 - java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。
我正在使用 Notepad++ 进行编码,并使用 命令提示符 来执行该程序。没有IDE.
我已经安装了最新版本的 MySQL、Java SE、Java Connector。我已将 CLASSPATH 变量正确设置为 mysql-connector-java-8.0.20.jar 文件。您可以检查下图中的 CLASSPATH
[1]: https://i.stack.imgur.com/9XgQp.jpg
我的代码也是正确的我把我的代码和输出放在下面。
// MYSQL 和 java 的数据库程序。记事本中的简单连接。
import java.sql.*;
public class Db01
{
public static void main(String args[])
{
try {
System.out.println("Start of program");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","root");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from studenttable");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}catch(Exception E)
{
System.out.println(E);
System.out.println("Program end with cought exception");
}
}
}
这是我的输出。
节目开始
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
程序以咳嗽异常结束
我尝试了大多数文档和论坛,但找不到答案请帮助我。
我找到了答案。这是驱动程序不兼容的问题。我已经阅读了 MYSQL 官方网站的文档。它解释了这一点。
JDBC Pure Java Drivers 有两个系列,作者是 MYSQL。
1.Connector J 8. Series - 这个驱动程序增加了很多额外的功能,但大多数时候它不能在小的基本程序上工作。需要安装核心驱动5.0
2.Connector J 5. 系列 - 这看起来像最兼容的驱动程序系列。您需要安装其原始驱动程序。因此,如果检查您是否使用了正确的驱动程序。
默认情况下,您的 5.0 驱动程序将出现在 C:\Program Files (x86)\MySQL\Connector J 5.1\mysql-connector-java-5.1.48.jar 中。创建 CLASSPATH 变量,为该驱动程序和程序的 .class 文件提供位置。现在可以使用了。
编辑:我之前说过 J7 驱动程序是 J5 驱动程序的附加组件。我错了,有人在评论中纠正我。所以我重新编辑了这个post。我不能保证我上面描述的答案是真实的,因为我正在学习自己。我只是想说说我是如何得到解决方案的。
我收到此错误 - java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。 我正在使用 Notepad++ 进行编码,并使用 命令提示符 来执行该程序。没有IDE.
我已经安装了最新版本的 MySQL、Java SE、Java Connector。我已将 CLASSPATH 变量正确设置为 mysql-connector-java-8.0.20.jar 文件。您可以检查下图中的 CLASSPATH [1]: https://i.stack.imgur.com/9XgQp.jpg
我的代码也是正确的我把我的代码和输出放在下面。 // MYSQL 和 java 的数据库程序。记事本中的简单连接。
import java.sql.*;
public class Db01
{
public static void main(String args[])
{
try {
System.out.println("Start of program");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/student","root","root");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from studenttable");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}catch(Exception E)
{
System.out.println(E);
System.out.println("Program end with cought exception");
}
}
}
这是我的输出。 节目开始
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
程序以咳嗽异常结束
我尝试了大多数文档和论坛,但找不到答案请帮助我。
我找到了答案。这是驱动程序不兼容的问题。我已经阅读了 MYSQL 官方网站的文档。它解释了这一点。 JDBC Pure Java Drivers 有两个系列,作者是 MYSQL。
1.Connector J 8. Series - 这个驱动程序增加了很多额外的功能,但大多数时候它不能在小的基本程序上工作。需要安装核心驱动5.0
2.Connector J 5. 系列 - 这看起来像最兼容的驱动程序系列。您需要安装其原始驱动程序。因此,如果检查您是否使用了正确的驱动程序。
默认情况下,您的 5.0 驱动程序将出现在 C:\Program Files (x86)\MySQL\Connector J 5.1\mysql-connector-java-5.1.48.jar 中。创建 CLASSPATH 变量,为该驱动程序和程序的 .class 文件提供位置。现在可以使用了。
编辑:我之前说过 J7 驱动程序是 J5 驱动程序的附加组件。我错了,有人在评论中纠正我。所以我重新编辑了这个post。我不能保证我上面描述的答案是真实的,因为我正在学习自己。我只是想说说我是如何得到解决方案的。