为什么我能';t连接MySQL数据库到简单的Java程序?使用所有软件的更新版本
我收到这个错误-java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。 我正在使用记事本+++编码和命令提示符执行此程序。没有IDE 我已经安装了最新版本的MySQL、JavaSE、JavaConnector。我已经将CLASSPATH变量正确设置为mysql-connector-java-8.0.20.jar文件。您可以检查下图中的类路径 [1] : 我的代码也是正确的,我把我的代码和输出放在下面。 //用java编写MYSQL数据库程序。记事本中的简单连接为什么我能';t连接MySQL数据库到简单的Java程序?使用所有软件的更新版本,java,mysql,database,jdbc,database-connection,Java,Mysql,Database,Jdbc,Database Connection,我收到这个错误-java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。 我正在使用记事本+++编码和命令提示符执行此程序。没有IDE 我已经安装了最新版本的MySQL、JavaSE、JavaConnector。我已经将CLASSPATH变量正确设置为mysql-connector-java-8.0.20.jar文件。您可以检查下图中的类路径 [1] : 我的代码也是正确的,我把我的代码和输出放在下面。 //用java编写MYSQL数据库程序
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
程序以cougt异常结束
我尝试了大多数文档和论坛,但找不到答案请帮助我。我找到了答案。这就是不兼容驱动程序的问题。我读过MYSQL官方网站的文档。它解释了这一点。 MYSQL提供了两个JDBC纯Java驱动程序系列 1.接头J 8。系列-此驱动器驱动程序添加了许多额外的功能,但大多数情况下,在小型基本程序上,它无法单独工作。它需要安装核心驱动程序5.0 2.接头J 5。系列-这看起来像是最兼容的驱动程序系列。您需要安装它的原始驱动程序。所以,如果检查您是否使用了正确的驱动程序 默认情况下,您的5.0驱动程序将出现在C:\Program Files(x86)\MySQL\Connector J 5.1\MySQL-Connector-java-5.1.48.jar中。创建CLASSPATH变量,指定此驱动程序和程序的.class文件的位置。现在它可以工作了
编辑:我之前说过J7驱动程序是J5驱动程序的附加组件。我错了,有人在评论中纠正了我。所以我重新编辑了这篇文章。我不能保证我上述的回答是正确的,因为我在学习自己。我只是想告诉你我是如何得到我的解决方案的。我不知道你在用Class.forName(“com.mysql.jdbc.Driver”);如果删除此行,它将不起作用?该语句用于注册驱动程序。它的可选语句,但我正在使用它。下面是当我不使用该语句时会发生的情况--java.sql.SQLException:找不到适合jdbc的驱动程序:mysql://localhost:3306/studentso 您只需将其添加到类路径,下载mysql连接器,然后将JAR添加到依赖项,如果使用intellij,则右键单击“模块设置/依赖项”并添加您下载的连接器这不会是“不兼容”驱动程序的问题。MySQL Connector.J 8.0.x版本仍然包含
com.MySQL.jdbc.Driver
,尽管它已被弃用。而且它不是“现有核心驱动程序的附加组件”(不管这意味着什么)。该错误将表明您的类路径上没有驱动程序。还要注意的是,大多数运行Java应用程序的方法都不使用CLASSPATH
环境变量,因此最好不要学习该变量,而是使用更为普遍接受的指定类路径的方法。此外,Connector/J 5系列不是“最兼容”的驱动程序。建议使用MySQL Connector/J 8,除非您有很好的理由不这样做。版本8应该适用于版本5应该适用的所有情况(尽管它可能不支持非常旧的MySQL版本)。