在 Neo4j 中,你可以使用原生的 Java API 直接与数据库进行交互。Neo4j 提供了一组 Java 类库,让你能够以编程方式执行节点和关系的创建、查询和更新等操作。以下是使用 Neo4j 原生 Java API 的基本步骤:

1. 添加 Neo4j 依赖:

首先,你需要将 Neo4j 的 Java API 依赖添加到你的项目中。在 Maven 项目的 pom.xml 文件中,添加以下依赖:
<dependencies>
    <dependency>
        <groupId>org.neo4j</groupId>
        <artifactId>neo4j-java-driver</artifactId>
        <version>4.5.0</version> <!-- 请使用最新版本 -->
    </dependency>
</dependencies>

2. 编写 Java 代码:

以下是一个简单的示例,演示如何使用 Neo4j 的原生 Java API 创建节点、查询节点和关系:
import org.neo4j.driver.*;
import static org.neo4j.driver.Values.parameters;

public class Neo4jNativeExample {
    public static void main(String[] args) {
        // Neo4j 连接信息
        String uri = "bolt://localhost:7687"; // 修改为你的 Neo4j 数据库地址
        String user = "neo4j"; // 修改为你的 Neo4j 用户名
        String password = "your_password"; // 修改为你的 Neo4j 密码

        // 创建连接
        try (Driver driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
             Session session = driver.session()) {

            // 创建节点
            session.writeTransaction(tx -> {
                tx.run("CREATE (p:Person {name: $name, age: $age})", parameters("name", "John", "age", 30));
                return null;
            });

            // 查询节点
            session.readTransaction(tx -> {
                Result result = tx.run("MATCH (p:Person) WHERE p.name = $name RETURN p", parameters("name", "John"));
                while (result.hasNext()) {
                    Record record = result.next();
                    System.out.println("Found Person: " + record.get("p").asMap());
                }
                return null;
            });

            // 创建关系
            session.writeTransaction(tx -> {
                tx.run("MATCH (a:Person), (b:Person) WHERE a.name = $name1 AND b.name = $name2 " +
                       "CREATE (a)-[:KNOWS]->(b)", parameters("name1", "John", "name2", "Jane"));
                return null;
            });
        }
    }
}

注意事项:

  •  在生产环境中,建议将敏感信息(如密码)存储在安全的地方,而不是直接硬编码在代码中。


  •  在执行任何数据库更新操作时,确保在事务中执行以保持数据的一致性。


这只是一个简单的入门示例,你可以根据实际需求进行更复杂的操作。


转载请注明出处:http://www.zyzy.cn/article/detail/9312/Neo4j