从 Java 使用 Neo4j
如果您是 Java 开发人员,本指南概述了连接到 Neo4j 的选项。虽然本指南并不全面,但它介绍了不同的 API 并链接到相关资源。
您应该熟悉 图数据库概念 和属性图模型。您应该已经 创建了 Neo4j AuraDB 云实例 或 在本地安装了 Neo4j。
在使用 Neo4j 5.x 进行开发时,请使用 Java 17 和您首选的 IDE。
5.x 驱动程序系列需要 Java 17。有关更多详细信息,请参阅 Neo4j Java 驱动程序手册。
Neo4j for Java 开发人员
Neo4j 提供了驱动程序,您可以使用这些驱动程序连接到数据库并开发创建、读取、更新和删除图中信息的应用程序。
对于社区版和企业版,您还可以通过使用 Java 或其他 JVM 语言实现 Cypher® 用户定义过程 来扩展 Neo4j。
示例项目
Neo4j 示例项目是一个小型、单页 Web 应用程序,用于构建到 Neo4j 教程中的电影数据库。前端页面对于所有驱动程序都是相同的:电影搜索、电影详细信息以及演员和电影的图可视化。每个后端实现都向您展示如何从不同的语言和驱动程序连接到 Neo4j。
您可以通过 此处 了解更多关于我们跨许多不同语言驱动程序的小型、一致的示例项目的信息。您将找到所有驱动程序的实现,作为 单独的 GitHub 存储库,您可以克隆并直接部署这些存储库。
Neo4j Java 驱动程序
Neo4j Java 驱动程序由 Neo4j 正式支持,并使用二进制协议连接到数据库。它旨在保持最小化,同时符合 Java 的习惯用法。我们支持 5.x 驱动程序系列的 Java 17。
在使用 Maven 时,请将此添加到您的 pom.xml 文件中
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>5.22.0</version>
对于 Gradle 或 Grails,添加依赖项的方式如下
compile 'org.neo4j.driver:neo4j-java-driver:5.22.0'
对于其他构建系统,请参阅 Maven Central 上提供的信息。
import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
import org.neo4j.driver.Query;
import static org.neo4j.driver.Values.parameters;
public class HelloWorldExample implements AutoCloseable {
private final Driver driver;
public HelloWorldExample(String uri, String user, String password) {
driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
}
@Override
public void close() throws RuntimeException {
driver.close();
}
public void printGreeting(final String message) {
try (var session = driver.session()) {
var greeting = session.executeWrite(tx -> {
var query = new Query("CREATE (a:Greeting) SET a.message = $message RETURN a.message + ', from node ' + id(a)", parameters("message", message));
var result = tx.run(query);
return result.single().get(0).asString();
});
System.out.println(greeting);
}
}
public static void main(String... args) {
try (var greeter = new HelloWorldExample("bolt://localhost:7687", "neo4j", "password")) {
greeter.printGreeting("hello, world");
}
}
}
驱动程序配置
从 Neo4j 版本 4.0 开始,默认加密设置是 关闭,Neo4j 不再生成自签名证书。这适用于默认安装、通过 Neo4j 桌面和 Docker 映像的安装。您可以通过检查 neo4j.conf
中的 dbms.connector.bolt.enabled
密钥来 验证服务器的加密级别。
证书类型 | Neo4j 集群 | Neo4j 独立服务器 | 直接连接到集群成员 |
---|---|---|---|
未加密 |
|
|
|
使用完整证书加密 |
|
|
|
使用自签名证书加密 |
|
|
|
|
N/A |
N/A |
在投入生产时,请查看您的 SSL 框架设置。如有必要,您也可以 使用 Letsencrypt 为 Neo4j 生成证书
名称 |
版本 |
作者 |
neo4j-java-driver |
5.22.0 |
Neo4j 团队 |