Java 如何使用Neo4j jdbc连接到Neo4j 3.0数据库?
你好, 我在eclipse中创建了一个maven项目,并添加了依赖项:Java 如何使用Neo4j jdbc连接到Neo4j 3.0数据库?,java,maven,jdbc,neo4j,Java,Maven,Jdbc,Neo4j,你好, 我在eclipse中创建了一个maven项目,并添加了依赖项: <dependency> <groupId>org.neo4j</groupId> <artifactId>neo4j-jdbc</artifactId> <version>3.0</version> </dependency> 我无法将其编译为: DriverManager无法在neo4j-jdbc-3
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc</artifactId>
<version>3.0</version>
</dependency>
我无法将其编译为:
DriverManager
无法在neo4j-jdbc-3.0中解析
Prepared stmt=con.preparest陈述(查询)代码>导致类型不匹配
对于类型org.neo4j.jdbc.Connection
我非常感谢您对此事的建议和专业知识,谢谢。DriverManager
、Connection
、PreparedStatement
和ResultSet
都是来自java.sql
包的类或接口,它是JDK的一部分。我猜文档假定您将使用IDE,它将为您找到正确的导入
这就是使用JDBC驱动程序的要点:您使用的是JDBC API,而不是专有API(即在供应商包中)
更新
Neo4jJDBC自述文件中有一个输入错误,应该是
ResultSet rs = stmt.execute();
而不是
ResultSet rs = con.execute();
否则,PreparedStatement
没有使用(并且代码没有编译,因为Connection.execute()
没有参数重载)
更新2
文档中的依赖关系也是错误的,因为neo4jdbc
不包含任何驱动程序
你应该依靠:
- 一体式模块,使您有机会使用Bolt或HTTP协议:
org.neo4j
neo4j jdbc驱动程序
3
- 或特定协议的模块:
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc-bolt</artifactId>
<version>3.0</version>
</dependency>
<!-- or -->
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc-http</artifactId>
<version>3.0</version>
</dependency>
org.neo4j
neo4j jdbc螺栓
3
org.neo4j
Neo4jJDBCHTTP
3
更新3
这两个问题现已在项目文档中修复。更改为:
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>1.0.4</version>
</dependency>
我想我会与大家分享,因为它可以立即工作,没有任何麻烦。
在做了这些更改之后,con.execute
仍然没有定义(我把它注释掉是为了让它可以运行)。运行代码后,它抛出一个SQLException未找到适合jdbc:neo4j的驱动程序:bolt://localhost
。我还做错了什么?为了完整性,我已经用代码和依赖项修复更新了答案。我尝试测试了这一点,并做了建议的更改,但仍然无法建立连接。这就是我使用的,包括SQLException抛出的错误消息。我还做错了什么?正如消息所说,您的JDBC URL是错误的(在上面的问题中是正确的):您有bolt/localhost
而不是bolt://localhost
。如果使用默认端口,则无需指定端口。
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc-bolt</artifactId>
<version>3.0</version>
</dependency>
<!-- or -->
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-jdbc-http</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>1.0.4</version>
</dependency>
public static void main(String[] args) {
Driver driver = GraphDatabase.driver(
"bolt://localhost", AuthTokens.basic( "neo4j", "neo4j" ) );
Session session = driver.session();
session.run( "CREATE (a:Person {name:'Arthur', title:'King'})" );
StatementResult result = session.run(
"MATCH (a:Person)
WHERE a.name = 'Arthur'
RETURN a.name AS name, a.title AS title");
while ( result.hasNext() ) {
Record record = result.next();
System.out.println( record.get( "title" ).asString() +
" " + record.get("name").asString() );
}
session.close();
driver.close();
}