【问题标题】:(Netbeans only )No suitable Driver found for jdbc:mysql://localhost [duplicate](仅限Netbeans)没有为jdbc找到合适的驱动程序:mysql:// localhost [重复]
【发布时间】:2021-10-21 08:55:22
【问题描述】:

我尝试在我的 Swing 应用程序中使用以下函数,但我在标题中收到错误消息。这对我来说很奇怪,因为在 Eclipse IDE 而不是 NetBeans 上运行完全相同的代码时,该函数完美地执行。 我相信我已经正确安装了驱动程序,因为在服务选项卡中我可以通过创建的驱动程序查看和访问 MySQL 表中的数据。

public void insert(String Item, String Size, int Price, String Details){
    try{
        con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/ddApp", "root", "****"); //stars replacing password
        ps = con.prepareStatement("INSERT INTO ddApp.currentTable (item, size, price, description) VALUES (?, ?, ?, ?) ");
        ps.setString(1, Item);
        ps.setString(2, Size);
        ps.setInt(3, Price);
        ps.setString(4, Details);
        ps.executeUpdate(); 
    }catch(Exception ex){
        JOptionPane.showMessageDialog(null, ex.getMessage());
    }
}

【问题讨论】:

  • 确保 mysql jar 也在你的类路径中。

标签: java mysql swing jdbc driver


【解决方案1】:

JDBC 驱动程序是否“存在”(例如,JDBC url 是否“有效”,取决于驱动程序是否存在),只需位于类路径中即可。您是否在 netbeans 的任何其他选项卡中看到它都无关紧要:当 netbeans “运行”您的应用程序时,它只是使用一些类路径调用 java.exe

该类路径需要包含 mysql-jdbc.jar 驱动程序。如果是这样,该错误就会消失。如果没有,您会收到该错误。

如果您使用的是 maven 或 gradle 等构建系统,只要您正确设置了依赖项(您已在 mysql-jdbc 上添加了 dep,并且通常在编译时需要和运行时的配置,这是默认的),那么只要你设置了你的 IDE 以使用该构建配置作为项目基础,一切都会正常工作。

如果这不是您所做的,请确保 mysql 在类路径中。

通常不需要它——在编译期间你根本不需要它。依赖项(通常是 jar 文件)需要存在 [A] 仅在编译时,在运行时不需要(例如:Project Lombok),[B] 仅在运行时,不需要编译(那些只是简单实现的插件一些服务API)。 Mysql-jdbc 是其中之一,或者两者都需要 [C](默认)。 Hibernate、Guava、日志框架——你的大部分依赖都是这种类型的。

所以,这是一个类别 [B]。您需要告诉 netbeans 以确保 mysql 在命令行上。一个简单的解决方法是将其视为 [C] - 您的代码可以在没有它的情况下编译,但是当 netbeans 编译您的代码时,如果 mysql-jdbc jar 在类路径上,它根本不会受到伤害。这意味着:无论 netbeans 必须添加什么机制来添加 jar 依赖项,都可以使用它(我不能真正告诉你 - 这取决于你如何设置项目)。

【讨论】:

  • 谢谢,这非常有帮助。对于其他努力添加对 Netbeans 的 jar 依赖的人,以下链接可能会有所帮助。 youtube.com/watch?v=WAErwHjXkXU
猜你喜欢
  • 2013-09-06
  • 2013-02-08
  • 2015-05-15
  • 2014-04-18
  • 2015-03-28
  • 2016-09-07
  • 2021-03-23
  • 2017-12-11
  • 2014-07-14
相关资源
最近更新 更多