springboot 2 简单整合Neo4j

本文介绍了如何在SpringBoot 2.x应用中整合Neo4j,包括添加依赖、配置文件设置、实体类注解、创建Repositories、配置Neo4jConfig以及编写Service和Controller。通过这个教程,读者可以学习到如何实现Neo4j的数据增删查改和事务管理。
摘要由CSDN通过智能技术生成

一、Neo4 j概览

Neo4j 概览

二、springboot 整合 neo4j

2.1、配置文件

Pom文件中引入依赖
Spring生态中Spring-data部分不仅仅提供了Spring-data-jpa , 也提供了Spring-data-neo4j 支持spring和 neo4j的完美融合,pom.xml 文件中依赖如图

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-neo4j</artifactId>
        </dependency>

yml文件中配置连接属性

spring:
  data:
    neo4j:
      uri: bolt://localhost:7687
      username: neo4j
      password: 123456
#打印neo4j生成的Cypher
logging:
  level:
    org:
      neo4j:
        ogm:
          drivers:
            bolt:
              request:
                BoltRequest: DEBUG

2.2、实体类(NodeEntity)

/**
*部门节点实体类
*/
@NodeEntity(label = "Dept")
@Data
@Builder
public class Dept {
   

    @Id
    @GeneratedValue
    private Long id;

    @Property(name = "deptName")
    private String deptName;

}
/**
*关系 实体类
*/
@RelationshipEntity(type = "relationShip")
@Data
@Builder
public class RelationShip {
   

    @Id
    @GeneratedValue
    private Long id;

    @StartNode
    private Dept parent;

    @EndNode
    private Dept child;
}
  • @NodeEntity: 标明是一个节点实体
  • @RelationshipEntity:标明是一个关系实体
  • @Id:实体主键
  • @Property:实体属性
  • @GeneratedValue:实体属性值自增
  • @StartNode:开始节点(可以理解为父节点)
  • @EndNode:结束节点(可以理解为子节点)

2.3、 创建repositories类(类似于封装过的dao)

@Repository
public interface DeptRepository extends Neo4jRepository<Dept,Long> {
   

    @Query("MATCH (d:dept) WHERE d.deptName CONTAINS $title RETURN d")
    List<Dept> findByTitle(@Param("title") String title);
}

@Query:编写neo4j 的Cypher语句, 变量格式为$

源码解析:Neo4jRepository.class

@NoRepositoryBean
public interface Neo4jRepository<T, ID extends Serializable> extends PagingAndSortingRepository<T, ID> {
   
    <S extends T> S save
Spring Boot可以很方便地整合MySQL和Neo4j数据库。下面是分别整合MySQL和Neo4j的步骤: 1. 整合MySQL: - 在`pom.xml`文件中添加MySQL的依赖: ```xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> ``` - 在`application.properties`文件中配置MySQL连接信息: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/db_name spring.datasource.username=username spring.datasource.password=password spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect ``` - 创建Spring Data JPA的Repository接口,通过继承`JpaRepository`接口来实现对数据库的访问和操作。 - 在Spring Boot的启动类上添加`@EnableJpaRepositories`注解,启用Spring Data JPA。 2. 整合Neo4j: - 在`pom.xml`文件中添加Neo4j的依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-neo4j</artifactId> </dependency> ``` - 在`application.properties`文件中配置Neo4j连接信息: ```properties spring.data.neo4j.uri=bolt://localhost:7687 spring.data.neo4j.username=username spring.data.neo4j.password=password ``` - 创建一个实体类,并在类上添加`@NodeEntity`注解,定义Neo4j节点。 - 创建一个Repository接口,通过继承`Neo4jRepository`接口来实现对Neo4j数据库的访问和操作。 - 在Spring Boot的启动类上添加`@EnableNeo4jRepositories`注解,启用Spring Data Neo4j。 这样,你就可以在Spring Boot应用中同时使用MySQL和Neo4j数据库了。记得根据实际情况修改配置信息。希望这些步骤对你有帮助!如果有更多问题,欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值