笔记主要记录如何使用Spring Boot Neo4j访问Neo4j数据库以及在实验过程中遇到的问题及解决方案。
开发环境:Myeclipes+spring boot+neo4j
安装neo4j数据库
在Maven项目添加spring-data-neo4j和相关依赖
编写domain对象
继承Neo4jRepository接口
实现service
在Controller中访问
运行截图
总结
整体框架:
就像上面的架构图所展示的,后端主要分为四个部分:neo4j(数据库),repository, service 以及controller。在这四个部分中,传递以entity bean为model的数据。其中,repository(相当于dao层)负责对数据库进行直接操作(增删改查);service负责将repository整合,从而提供一定的服务;controller则负责根据service能提供的服务,产生一个API URL,为前端提供restful的数据服务。
1、建完Maven项目后,在pom.xml中注入依赖。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-http-driver</artifactId>
</dependency>
</dependencies>
2、编写model层的实体类,也是数据库中的存储单元。要做到这一点,我们需要在生成的实体类加上注解 @NodeEntity,为了标识所有的节点,我给所有的entity bean class都加上了Id属性,并且给它加上注解@GraphId。另外,前面对Neo4j的介绍也说了,neo4j数据库里,主要由节点(node)和关系(relationship)组成。这里已经有了node,还差relationship,这就涉及到了另一个注解@Relationship。如下图所示,注解@Relationship表示了该node与其他node的关系,在class中是class的属性。
package com.github.davidji80.