-1

I wrote a program to connect to a database using jdbc with type 4 connectivity. The program compiles just fine but gives an exception of java.lang.ClassNotFoundException : com.mysql.jdbc.Driver. I have extracted all the folders in the folder in which my java file is and even placed all the jar files and database in the same folder. The database contains two records with ID 1 and 2. What could be the problem?

import java.sql.*;

class TestJDBC {

public static void main(String aa[]) {

    try {
        Class.forName("com.mysql.jdbc.Driver");

        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/Student_Details", "root","");

        Statement stmt = con.createStatement();

        ResultSet rs = stmt.executeQuery("Select ID, studentname from Details where ID=1");

        while(rs.next()) {
            System.out.print(rs.getString("ID"));
            System.out.print("\t");
            System.out.println(rs.getString("StudentName"));
        }
    }
    catch(Exception e) {
        System.out.println(e);
    }
}

}

4

3 回答 3

3

如果您的mysql-connector-java-5.0.8-bin.jar文件位于\lib\项目中的路径,如下所示

在此处输入图像描述

然后使用 cmd 提示符(假设 windows)将目录更改为该文件夹,然后您需要使用

javac -cp ".;lib/mysql-connector-java-5.0.8-bin.jar" YourClass.java

如果不是 windows,则使用:(仅在文件/文件夹名称中有空格时才需要引号)

然后运行

java -cp ".;lib/mysql-connector-java-5.0.8-bin.jar" YourClass

还要确保你没有使用重复的罐子

于 2013-07-09T06:40:00.443 回答
1

您需要将 jar 包含com.mysql.jdbc.Driver在类路径中

例如

java -cp mysql.jar;. TestJDBC

其中 mysql.jar 是包含类文件的 jar

com/mysql/jdbc/Driver.class

在 Windows 机器上

放置mysql-connector-java-5.0.8-bin.jarTestJDBC.class在同一个文件夹中。

从执行的文件夹中 java -cp mysql-connector-java-5.0.8-bin.jar;. TestJDBC

按预期工作。

unix 通常需要

java -cp mysql-connector-java-5.0.8-bin.jar:. TestJDBC

于 2013-07-09T03:44:49.240 回答
0

正如 BevynQ 所回答的那样,从命令行设置类路径会为该特定的当前 cmd 实例设置路径(据我所知),如果您退出/关闭并重新打开命令提示符,则需要再次设置路径。我猜有两种解决方案可以在您的程序中使用 jar 文件:

  • 解决方案 1)将 jar 文件复制到 Program Files/Java/JRE/lib 文件夹中,以便运行时环境可用,但不建议在 JDK/JRE 中添加 jar 文件。

  • 解决方案 2)设置 classpath 变量以放置 jar 文件位置的完整路径,以便它可用于运行时环境:复制 jar 文件位置的完整路径,转到环境变量,搜索用户/系统类路径变量(当前登录用户的用户变量,当前窗口上所有用户帐户的系统变量)如果它在那里,编辑它并将你的路径放在开始,否则创建一个新的类路径变量并放置你的完整路径

看这里设置类路径-

于 2013-07-09T04:52:12.537 回答