gpt4 book ai didi

java - neo4j-jdbc 驱动程序最小可行片段,不确定如何解决依赖关系

转载 作者:搜寻专家 更新时间:2023-10-30 19:47:23 27 4
gpt4 key购买 nike

我在获取 Neo4J-jdbc 驱动程序工作的最小可行代码段时遇到问题。我在 gradle 中使用 intelliJ idea。当我 import org.neo4j.jdbc.*; 时,DriverManager 无法解析并且多次出现 Unhandled Exception: java.sql.SQLException。当我 import java.sql.* 时,有更多的 java.sql.SQLException 错误。当我同时导入这两个库时,会出现多个错误,因为两个库之间的引用不明确。

官方文档中的最小可行代码段如下:

// Connecting
try (Connection con = DriverManager.getConnection("jdbc:neo4j:bolt://localhost", 'neo4j', password)) {

// Querying
String query = "MATCH (u:User)-[:FRIEND]-(f:User) WHERE u.name = {1} RETURN f.name, f.age";
try (PreparedStatement stmt = con.prepareStatement(query)) {
stmt.setString(1,"John");

try (ResultSet rs = stmt.execute()) {
while (rs.next()) {
System.out.println("Friend: "+rs.getString("f.name")+" is "+rs.getInt("f.age"));
}
}
}
}

Gradle 依赖:

dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile group: 'org.neo4j', name: 'neo4j-jdbc-bolt', version: '3.1.0'
compile 'com.sparkjava:spark-core:2.3'
}

我真的在这里寻找一个最小的实现,我只是想知道我错过了什么来让最小的代码段工作。

最佳答案

您需要导入 java.sql.*,仅此而已。是的,您将遇到一些 SQLException,但您只需在 catch 中处理它们 或通过在您的方法签名中添加异常(如下所示)。

代码片段中有一个错误,stmt.execute() 返回一个 boolean 而不是 ResultSet,因此您需要将其替换为 stmt.executeQuery()

这是一个完整/有效的例子:

import java.sql.*;

public class JDBCTest {

public static void main() throws SQLException {

// Connecting
try (Connection con = DriverManager.getConnection("jdbc:neo4j:bolt://localhost", "neo4j", "admin")) {

// Querying
String query = "MATCH (u:User)-[:FRIEND]-(f:User) WHERE u.name = {1} RETURN f.name, f.age";
try (PreparedStatement stmt = con.prepareStatement(query)) {
stmt.setString(1,"John");

try (ResultSet rs = stmt.executeQuery()) {
while (rs.next()) {
System.out.println("Friend: "+rs.getString("f.name")+" is "+rs.getInt("f.age"));
}
}
}
}
}
}

关于java - neo4j-jdbc 驱动程序最小可行片段,不确定如何解决依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50143228/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com