没有为jdbc mysql找到合适的驱动程序?

时间:2012-07-14 16:42:46

标签: mysql eclipse tomcat jdbc

我正在尝试编写一个程序来连接到eclipse中的MySQL数据库,但是我收到错误“java.sql.SQLException:找不到合适的驱动程序”

java代码是:

import java.sql.*;

public class FirstExample {

//static final String S_JDBC_DRIVER = "com.mysql.jdbc.Driver";  
static final String S_DB_URL = "jdbc:mysql://localhost:3306/emp";
static final String S_USER = "root";
static final String S_PASS = "root";

public static void main(String[] args) {

    try {

        System.out.println("Connecting to database...");
        //Class.forName(S_JDBC_DRIVER);
        Connection connection = DriverManager.getConnection(S_DB_URL,
                S_USER, S_PASS);

        System.out.println("Creating statement...");
        Statement statement = connection.createStatement();
        String sql = "SELECT * FROM Employee";
        ResultSet resultSet = statement.executeQuery(sql);

        while (resultSet.next()) {

            int iId = resultSet.getInt("id");
            int iAge = resultSet.getInt("age");
            String sFirst = resultSet.getString("fname");
            String sLast = resultSet.getString("lname");

            System.out.print("ID: " + iId);
            System.out.print("\tAge: " + iAge);
            System.out.print("\tFirst: " + sFirst);
            System.out.println("\tLast: " + sLast);
        }

        resultSet.close();
        statement.close();
        connection.close();
    } catch (SQLException se) {

        for (Throwable t : se) {
            t.printStackTrace();
        }
    } 
    System.out.println("Goodbye!");
}

}

控制台选项卡中的输出为:

Connecting to database...
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/emp
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at FirstExample.main(FirstExample.java:21)
Goodbye!

我使用过MySQL Connector / J.它在MySQL安装目录中解压缩,并且jar文件被添加到CLASSPATH。

另请参阅此图片。有一个 !在项目根目录上标记。image01

我在下一张图片中收到错误:image02当我包含2条评论语句时:

static final String S_JDBC_DRIVER = "com.mysql.jdbc.Driver";
Class.forName(S_JDBC_DRIVER);

6 个答案:

答案 0 :(得分:4)

我遇到了同样的问题。我通过添加:

解决了这个问题
Class.forName("com.mysql.jdbc.Driver");

答案 1 :(得分:3)

对于除了最简单的应用程序以外的所有应用程序,CLASSPATH环境变量使用 NOT 。通常,库包含在jar清单中的Class-Path条目中,或者包含在java命令行的-cp选项中。

在这种情况下,您需要将MySQL JDBC驱动程序添加到Eclipse项目的构建路径中。

答案 2 :(得分:1)

您可以将路径设置为java -cp pwd /mysql-connector-java-5.1.22-bin.jar:. <classname>

确保您在mysql驱动程序所在的目录中。

希望有所帮助。

答案 3 :(得分:0)

或者您也可以通过在eclipse中选择项目,将安装的jar文件添加到eclipse项目中,右键单击它并转到属性,选择Java Build Path&gt;&gt;选择Libraries选项卡&gt;&gt;添加外部jar为大多数ubuntu用户提供文件并浏览已安装的mysql-connector-java.jar文件或/ usr / share / java /目录下的任何mysql java连接器文件。单击“确定”并重建项目。祝你好运

答案 4 :(得分:0)

在获得连接之前加载驱动程序类。

使用此代码:

Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_db", "user", "passw");

答案 5 :(得分:-1)

我遇到了和你一样的问题,但我按如下方式处理: 我将jar(名为mysql-connector-java-5.1.23-bin.jar)复制到\ Apache Software Foundation \ Tomcat 6.0 \ lib中,然后重新启动tomcat。 希望有所帮助