SpringBoot使用Neo4j系列:(一)配置及创建实体节点

SpringBoot使用Neo4j系列:(一)配置及创建实体节点

  • 使用Neo4j创建Graph
  • SpringBoot相关配置
  • 实体定义
  • 数据仓库定义
  • 测试方法定义

使用Neo4j创建Graph

本文使用的是win10系统,Neo4j版本为1.1.17。

打开Neo4j Desktop,在系统默认创建好的工程My Project中,点击“Add Graph”创建Graph。

SpringBoot使用Neo4j系列:(一)配置及创建实体节点_第1张图片
然后点击“Create a Local Graph”进行创建。

SpringBoot使用Neo4j系列:(一)配置及创建实体节点_第2张图片
接下来输入Graph Name和Password,设置好的Password需要填写到SpringBoot项目的application.yml配置文件中,请妥善保存。

点击Create后,点击Start启动新创建的图。启动完成后,在浏览器中通过localhost:7474访问Neo4j Browser。

SpringBoot使用Neo4j系列:(一)配置及创建实体节点_第3张图片

访问时需要输入用户名和密码。用户名默认为neo4j,密码即为刚才创建图时输入的密码,填写完成后点击Connect进行连接即可。

SpringBoot相关配置

SpringBoot项目创建好以后,在项目配置文件porm.xml中加入Neo4j的依赖。配置代码如下:

<dependency>
	<groupId>org.springframework.bootgroupId>
	<artifactId>spring-boot-starter-data-neo4jartifactId>
dependency>

<dependency>
	<groupId>org.neo4jgroupId>
	<artifactId>neo4j-ogm-http-driverartifactId>
dependency>

依赖引入完成后,在resources目录下的application.yml文件中加入如下配置:

spring:
  data:
    neo4j:
      uri: bolt://localhost:7687
      username: neo4j
      password: 123456

到此,相关的配置工作就告一段落。

实体定义

创建一个实体类Movie.java,在其中描述实体。实体描述代码如下:

package site.beanyon.neo4j.bean;

import org.neo4j.ogm.annotation.GeneratedValue;
import org.neo4j.ogm.annotation.Id;
import org.neo4j.ogm.annotation.NodeEntity;
import org.neo4j.ogm.annotation.Property;

@NodeEntity
public class Movie {
    @Id
    @GeneratedValue
    private Long id;

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

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

    public Movie() {

    }

    public Movie(String title, String released) {
        this.title = title;
        this.released = released;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getReleased() {
        return released;
    }

    public void setReleased(String released) {
        this.released = released;
    }
}

数据仓库定义

新建一个MovieRepository.java类,继承Neo4jRepository,实现数据操作的托管。数据仓库代码如下:

package site.beanyon.neo4j.repository;

import org.springframework.data.neo4j.repository.Neo4jRepository;
import site.beanyon.neo4j.bean.Movie;

public interface MovieRepository extends Neo4jRepository<Movie, Long> {
    Movie findByTitle(String title);
}

测试方法定义

在项目的测试包中创建一个Test.java类,在其中定义测试的逻辑,然后运行testSaveMovie方法进行测试。测试代码如下:

package site.beanyon;

import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import site.beanyon.neo4j.bean.Movie;
import site.beanyon.neo4j.repository.MovieRepository;

@RunWith(SpringRunner.class)
@SpringBootTest
public class Test {
    @Autowired
    MovieRepository movieRepo;

    @org.junit.Test
    public void testSaveMovie() {
        Movie m1 = new Movie("绣春刀", "2014");
        Movie m2 = new Movie("复仇者联盟4", "2019");
        movieRepo.save(m1);
        movieRepo.save(m2);
    }
}

测试方法运行完成后,我们可以在Neo4j Browser中看到已经有了电影节点的存在。

SpringBoot使用Neo4j系列:(一)配置及创建实体节点_第4张图片

点击“Movie”标签即可查询到我们刚才生成的两个电影节点。

SpringBoot使用Neo4j系列:(一)配置及创建实体节点_第5张图片

你可能感兴趣的:(Graph,Database)