# Neo4j程序访问


<!--more-->


## 1. 数据库访问

- 嵌入式数据库

  嵌入式Neo4j数据库是性能的最佳选择。 通过指定数据存储的路径以编程方式访问嵌入式数据库。

  我们选择嵌入式数据库出于以下原因：

  - 使用Java作为我们项目的编程语言时

  - 应用程序是独立的

  - 程序追求很高的性能

- 服务器模式(通过REST访问)

  Neo4j Server是相互操作性，安全性和监控的最佳选择。实际上，REST接口允许所有现代平台和编程语言与它进行互操作。此外，作为独立应用程序，它比嵌入式配置更安全（客户端中的潜在故障不会影响服务器），并且更易于监控。如果我们选择使用这种模式，我们的应用程序将充当Neo4j服务器的客户端。要连接到Neo4j服务器，可以使用任何编程语言的REST访问数据库。

## 2. java客户端操作neo4j

- 嵌入式模式

  示例代码: [embedded-demo](https://gitee.com/ixinglan/neo4j-demo.git) 

  ```xml
  <dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j</artifactId>
    <version>3.5.5</version>
  </dependency>
  ```

- 服务器模式

  示例代码: [server-demo](https://gitee.com/ixinglan/neo4j-demo.git)

  ```xml
  <dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-ogm-bolt-driver</artifactId>
    <version>3.2.10</version>
  </dependency>
  ```

  

## 3. Springboot 整合neo4j

![示意图](https://img.zhaojq.top/20260727091645718.png "示意图")

示例代码: [springboot-demo](https://gitee.com/ixinglan/neo4j-demo.git) 

- 引入依赖

  ```xml
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-neo4j</artifactId>
  </dependency>
  <dependency>
    <groupId>org.neo4j</groupId>
    <artifactId>neo4j-ogm-bolt-driver</artifactId>
  </dependency>
  
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
  </dependency>
  ```

- 创建实体类

  见示例代码即可

- 创建持久化类

  见示例代码

- 配置文件 

  ```yaml
  spring:
    data:
      neo4j:
        username: neo4j
        password: 123456
        uri:  bolt://10.211.55.14/:7687 #bolt内置驱动包
        #uri: http://192.168.211.133:7474 #需导入http驱动包
        #uri: file:///target/graph.db #需3个斜线,并导入驱动包
  ```

- 编写服务类

- 编写测试类














