1

我在 Mac 上,运行 MySQL 的 MAMP 实例。我正在尝试使用 jdbc 驱动程序将我的 java 代码连接到名为“test”的数据库,并使用名为“customer”的表。我不断收到错误消息:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:8889/test

我不确定问题是否出在我的代码上,或者是否是 MySQL 的 MAMP 实例的配置问题,或者完全是其他问题。

我有一个初始化驱动程序方法:

public void initializeDriver(){
     try{
      Class.forName("com.mysql.jdbc.Driver");
      }
     catch(ClassNotFoundException e) {
        System.err.println(e.toString());
     }

 }

我通过以下方式创建了一个连接:

public void insertCustomer(String connectionUrl, String connectionUser, String connectionPassword, Customer customer) {

         try{
            Connection conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
            Statement constat = conn.createStatement();
            String query = "INSERT INTO customers (customer_id, email, deliverable, create_date) VALUES (" + customer.id + ", " + customer.emailAddress + ", " + customer.deliverable + ", " + customer.createDate + ")" ;
            constat.executeQuery(query);
            conn.close();

         }
         catch(SQLException e){
             System.out.println(e.toString());
         }


     }

我已经下载了 mysql-connector-java-5.1.20 并将其设置在我的类路径中。

如果有人对我如何纠正此错误有任何建议,我将不胜感激!

4

4 回答 4

2

您必须将MySQL jdbc 连接器jar 库放入类路径中。

然后在打开连接之前使用如下代码初始化驱动程序:

Class.forName("com.mysql.jdbc.Driver").newInstance();
于 2012-05-08T15:32:46.083 回答
0

您在这一行也有错误

    constat.executeQuery(query);

如果要在数据库中插入一些数据,则必须使用此代码

constat.executeUpdate(query);
于 2012-05-09T15:25:36.497 回答
0

尝试将mysql-connector-java-5.1.20.jar 添加到 Glassfish(或 Tomcat)lib文件夹。

于 2012-05-08T15:43:05.253 回答
0

您将需要类路径中的相应 mysql JDBC 驱动程序 jar 或可由容器加载。请参阅ConnectorJ 的文档并注意安装说明。

于 2012-05-08T15:18:23.760 回答