【问题标题】:How to use JDBC in IntelliJ IDEA?如何在 IntelliJ IDEA 中使用 JDBC?
【发布时间】:2022-01-08 01:06:42
【问题描述】:

我无法启动“Hellow World, JDBC”应用程序。

public static void main(String[] args) {
        String username = "user";
        String password = "pass";
        String databaseUrl = "jdbc:mariadb://localhost:3306/example";

        try{
            Class.forName("org.mariadb.jdbc.Driver");
            ClassLoader.getSystemClassLoader();
            Connection connection = DriverManager.getConnection(databaseUrl, username, password);
        } catch (ClassNotFoundException | SQLException throwables) {
            throwables.printStackTrace();
        }

    }
  1. I know then the error in this string。 JVM 无法按名称查找和加载类,但idea 看到了这个类。

  2. I add mariadb connector as a jar lib。这意味着idea在编译时会将classpass提供给jvm。

我还在 module-info.java 中添加了 requires org.mariadb.jdbc; ,但我有同样的错误。 我已经尝试过创建新项目。也帮不了我。真不知道为什么JVM无法到达Driver类

【问题讨论】:

  • 你告诉 IntelliJ 在你的项目中使用什么 JDK? CNFE对我来说是一个惊喜。缺少的不是 Maria DB 驱动程序类;它是 javax,sql 包中的一个类。您应该将其作为 JDK 的一部分。你在使用 Maven 吗?
  • 可能是 this 的副本。您似乎试图在没有实现的情况下使用RowSet
  • 发布文字而不是图片。
  • 尝试将requires java.sql.rowset; 添加到您的module-info.java。但是,鉴于 MariaDB Connector/J 驱动程序似乎没有模块化(否则它会起作用),我认为你最好不要使用模块化项目,而是恢复到非模块化 Java 项目(即删除module-info.java).
  • @BasilBourque 它看起来更像是 MariaDB Connector/J 在内部使用 javax.sql.rowset 的某些部分。

标签: java intellij-idea jdbc


【解决方案1】:

问题出在 mariadb v.2.7.2、2.7.3、2.7.4 的 JDBC 驱动程序中。我通过简单地降级到旧版本 2.4.4 解决了这个问题

【讨论】:

    猜你喜欢
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多