java如何使用neo4jjdbc连接到Neo4j 3.0数据库?
你好,
我在eclipse中创建了一个maven项目,并添加了依赖项:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc</artifactId>
<version>3.0</version>
</dependency>
我只是想和我的数据库建立一个连接,这样我就可以继续把这个连接和我的主要项目结合起来,但是我在开始工作时遇到了困难
我使用了官方回购协议中给出的代码示例:
import org.neo4j.jdbc.Connection;
import org.neo4j.jdbc.PreparedStatement;
import org.neo4j.jdbc.ResultSet;
public class Neo4jConnectionTest {
public static void main(String[] args) {
// Connect
Connection con = DriverManager.getConnection(
"jdbc:neo4j:bolt://localhost");
// 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");
ResultSet rs = con.execute();
while (rs.next()) {
System.out.println(
"Friend: "+rs.getString("f.name")+" is "+rs.getInt("f.age"));
}
} catch (Exception e) { e.printStackTrace(); }
con.close();
}
}
我无法将其编译为:
DriverManager
无法在neo4j-jdbc-3.0中解析
Prepared stmt = con.prepareStatement(query);
导致类型不匹配
类型org.neo4j.jdbc.Connection
的con.execute()
未定义
我非常感谢您对此事的建议和专业知识,谢谢
# 1 楼答案
改为:
我使用Neo4j网站上的一个例子成功连接到Neo4j 3.0服务器:
我想我会和大家分享一下,因为它立刻就可以工作,没有任何麻烦
Neo4j Language Guides
# 2 楼答案
DriverManager
、Connection
、PreparedStatement
和ResultSet
都是来自java.sql
包的类或接口,它是JDK的一部分。我猜文档假定您将使用IDE,它将为您找到正确的导入使用JDBC驱动程序的意义在于:您使用的是JDBC API,而不是专有API(即在供应商包中)
更新
neo4j jdbc自述文件中有一个输入错误,应该是这样的
而不是
否则
PreparedStatement
就没有使用(代码不会编译,因为Connection.execute()
没有arg重载)更新2
文档中的依赖项也是错误的,因为
neo4j-jdbc
不包含任何驱动程序你应该依靠:
无论是一体式模块,您都可以使用Bolt或HTTP协议:
或特定协议的模块:
更新3
这两个问题现在都已在项目文件中得到解决