【问题标题】:Driver Manager not resolved in neo4j-jdbc driver驱动程序管理器未在 neo4j-jdbc 驱动程序中解析
【发布时间】:2017-12-15 08:00:57
【问题描述】:

我在我的应用程序中使用 neo4j-jdbc-driver 连接到 neo4j 数据库。 DriverManager 仍未解决,我不知道要为此导入什么包。

Connection con = DriverManager.getConnection("jdbc:neo4j:bolt://localhost");
try (Statement stmt = con.createStatement()) {
    ResultSet rs = stmt.executeQuery("MATCH (n:User) RETURN n.name");
    while (rs.next()) {
        System.out.println(rs.getString("n.name"));
    }
}
con.close();

【问题讨论】:

    标签: jdbc neo4j


    【解决方案1】:

    DriverManager 来自 Java JDBC 包,即java.sql.*

    【讨论】:

    • 感谢您的回复。因此,DriverManager 取自 java.sql.*,但所有其他类似 Connection、ResultSet 仅取自 neoj-java 包。这会导致类型冲突。如何解决这个问题。请帮忙。
    【解决方案2】:

    我可以看出你对 JDBC 的使用有一点误解。

    DriverManagerjava.sql.* 包中的一个类,(当然)用作管理器,以在应用程序路径中找到正确的类,用于连接到特定的 URL。

    给您带来问题的 Connection 和 ResultSet 可能是 internal neo4j 类,因此可能是您导入了错误的类。

    您要查找的类也在java.sql.* 包中。

    你可以以此为例:

    package org.your.package
    
    import java.sql.DriverManager;
    import java.sql.Connection;
    import java.sql.Statement;
    import java.sql.ResultSet
    
    public class MyClass {
    
        public static void main (args[]) {
            Connection connection = DriverManager.getConnection("jdbc:neo4j:bolt://localhost");
            try (Statement stmt = con.createStatement()) {
                ResultSet rs = stmt.executeQuery("MATCH (n:User) RETURN n.name");
                while (rs.next()) {
                    System.out.println(rs.getString("n.name"));
                }
            }
            con.close();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-25
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2015-01-11
      相关资源
      最近更新 更多