【问题标题】:java.lang.ClassNotFoundException: com.mysql.idbc.Driver problemjava.lang.ClassNotFoundException: com.mysql.idbc.Driver 问题
【发布时间】:2020-01-23 22:24:11
【问题描述】:

所以我有一个关于 MySql 连接器驱动程序的问题。即使我添加了库,它仍然显示与图像所示相同的错误。

一切都很好,直到我需要将数据写入 MySQL 的方法。我也尝试过导入库,但它变灰然后在我按下后消失;

我尝试从 Maven 导入库,但同样的问题仍然存在。我使用 IntelliJ IDEA。

这也是我在 Java 类中的代码:

package sample.database;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class DatabaseHandler extends Configs {
    private Connection dbConnection;

    public Connection getDbConnection() throws ClassNotFoundException, SQLException {
        String connectionString = "idbc:mysql://"+ dbHost + ":" + dbPort + "/" +dbName;
        Class.forName("com.mysql.idbc.Driver");

        dbConnection = DriverManager.getConnection(connectionString,dbUser,dbPass);

        return dbConnection;
    }

    //write method
    public void SignUpUser(String userName, String password, String firstName, String lastName) {

        String insert = "INSERT INTO"+Const.USERS_TABLE+"("+Const.USERNAME+","+Const.PASSWORD+","+Const.NAME+","+Const.LASTNAME+")"+"VALUES(?,?,?,?)";

        try {
            getDbConnection();
            PreparedStatement preparedStatement = dbConnection.prepareStatement(insert);

            preparedStatement.setString(1, userName);
            preparedStatement.setString(2, password);
            preparedStatement.setString(3, firstName);
            preparedStatement.setString(4, lastName);

            preparedStatement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }


    }

}

【问题讨论】:

  • 您好,您的似乎更像是印刷错误。据我所知,没有像 idbc 这样的东西。把idbc改成jdbc试试看。

标签: java mysql jdbc database-connection mysql-connector


【解决方案1】:

您在这段代码中不小心拼错了“jdbc”,请将“idbc”替换为“jdbc”。

jdbc 代表 Java 数据库连接 :)

【讨论】:

  • @MartinKataroski 您犯了同样的错误 3 次:在您的标题、您可以删除的 Class.forName() 行以及您的数据库 URL 中。
  • 我修复了现在我还有一个问题。我还更改了 PreparedStatement PreparedStatement = dbConnection.prepareStatement(insert);到 PreparedStatement PreparedStatement = getDbConnection().prepareStatement(insert);出现问题:无法创建与数据库服务器的连接。在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  • 根据下面的链接,这可能是由于 MySQL 无法在本地启动/访问造成的。发生此错误时 MySQL 是否正在运行? edureka.co/community/37660/…
猜你喜欢
  • 2011-10-07
  • 1970-01-01
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 2020-03-11
  • 2015-09-06
  • 2014-09-07
  • 1970-01-01
相关资源
最近更新 更多