【Springboot集成Neo4j完整版教程】

在这里插入图片描述

🚀 Neo4j 🚀

🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 Neo4j 🚀

在这里插入图片描述
在这里插入图片描述

🍔 目录

    • 🌟 知识回顾
    • 🌟 Spring Data Neo4j官方指导手册
    • 🌟 Docker启动Neo4j
    • 🌟 Spring Boot集成Neo4J配置信息
      • 🍤 新创建一个SpringBoot项目![](https://img-blog.csdnimg.cn/e3a461d13b524c0fa968a3d3dc8de763.png)
      • 🍤 导入spring-boot-starter-data-neo4j依赖
      • 🍤 配置neo4j相关的连接信息
    • 🌟 Spring Boot集成Neo4J案例实操
      • 🍤 创建对应的Person实体信息
      • 🍤 创建对应的Repository接口
      • 🍤 创建节点访问测试
    • 🌟 Spring Boot集成Neo4J案例实操2
      • 🍤 创建对应的PersonRelation实体信息
      • 🍤 Person实体中增加对应的构造方法
      • 🍤 创建对应的PersonRelationRepository接口
      • 🍤 创建节点访问测试
    • 🌟 总结
    • 💬 共勉

🌟 知识回顾

大家根据自己情况的情况自行选择之前的文章进行学习

【Docker安装部署Neo4j保姆级教程】
【使用Neo4j进行图数据可视化】
【Neo4j教程之CQL命令基本使用】
【Neo4j教程之CQL函数基本使用】

🌟 Spring Data Neo4j官方指导手册

Spring Data Neo4j官方指导手册

第一步进入Spring官方,选择SpringData模块
在这里插入图片描述

第二步选择Spring Data Neo4j
在这里插入图片描述
第三步查看Spring Data Neo4j指导手册相关的内容
在这里插入图片描述

🌟 Docker启动Neo4j

注意:此处我们直接通过Docker来启动Neo4j,前面的教程中也有,不会的同学可以先去学习

docker start neo4j 

在这里插入图片描述

🌟 Spring Boot集成Neo4J配置信息

🍤 新创建一个SpringBoot项目

🍤 导入spring-boot-starter-data-neo4j依赖

添加对应的依赖

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

🍤 配置neo4j相关的连接信息

添加对应的配置文件

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

🌟 Spring Boot集成Neo4J案例实操

🍤 创建对应的Person实体信息

import lombok.Data;
import org.neo4j.ogm.annotation.GeneratedValue;
import org.neo4j.ogm.annotation.Id;
import org.neo4j.ogm.annotation.NodeEntity;
import org.neo4j.ogm.annotation.Property;/*** 创作一个对应 Person 实体对象 -> 对应我们 Neo4j数据库中的 Node 对象*/
@Data
@NodeEntity("Person")
public class Person {@Id@GeneratedValueprivate Long id;@Propertyprivate String name;
}

🍤 创建对应的Repository接口

import entity.Person;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.stereotype.Repository;@Repository
public interface PersonRepository extends Neo4jRepository<Person,Long> {
}

🍤 创建节点访问测试

代码案例

import dao.PersonRepository;
import entity.Person;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringbootNeo4jApplicationTests {@Autowiredprivate PersonRepository personRepository;@Testvoid contextLoads() {Person person = new Person();person.setName("硕风和炜");personRepository.save(person);}
}

访问测试
在这里插入图片描述

🌟 Spring Boot集成Neo4J案例实操2

🍤 创建对应的PersonRelation实体信息

import lombok.Data;
import org.neo4j.ogm.annotation.*;import java.io.Serializable;@Data
@RelationshipEntity(type = "徒弟")
public class PersonRelation implements Serializable {@Id@GeneratedValueprivate Long id;@StartNodeprivate Person parent;@EndNodeprivate Person child;@Propertyprivate String relation;public PersonRelation(Person parent, Person child, String relation) {this.parent = parent;this.child = child;this.relation = relation;}
}

🍤 Person实体中增加对应的构造方法

import lombok.Data;
import org.neo4j.ogm.annotation.GeneratedValue;
import org.neo4j.ogm.annotation.Id;
import org.neo4j.ogm.annotation.NodeEntity;
import org.neo4j.ogm.annotation.Property;/*** 创作一个对应 Person 实体对象 -> 对应我们 Neo4j数据库中的 Node 对象*/
@Data
@NodeEntity("Person")
public class Person {@Id@GeneratedValueprivate Long id;@Propertyprivate String name;@Propertyprivate Integer age;public Person() {}public Person(String name, Integer age) {this.name = name;this.age = age;}
}

🍤 创建对应的PersonRelationRepository接口

import com.ljw.springboot.neo4j.entity.PersonRelation;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.stereotype.Repository;@Repository
public interface PersonRelationRepository extends Neo4jRepository<PersonRelation,Long> {}

🍤 创建节点访问测试

代码案例

import com.ljw.springboot.neo4j.dao.PersonRelationRepository;
import com.ljw.springboot.neo4j.dao.PersonRepository;
import com.ljw.springboot.neo4j.entity.Person;
import com.ljw.springboot.neo4j.entity.PersonRelation;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
class SpringbootNeo4jApplicationTests {@Autowiredprivate PersonRelationRepository personRelationRepository;@Testvoid nodeRelation(){Person p1 = new Person("唐僧",4321);Person p2 = new Person("孙悟空",3421);Person p3 = new Person("猪八戒",2413);Person p4 = new Person("沙僧",1234);PersonRelation pr1 = new PersonRelation(p1,p2,"徒弟");PersonRelation pr2 = new PersonRelation(p1,p3,"徒弟");PersonRelation pr3 = new PersonRelation(p1,p4,"徒弟");personRelationRepository.save(pr1);personRelationRepository.save(pr2);personRelationRepository.save(pr3);}}

访问测试
在这里插入图片描述

🌟 总结

本文展示了如何使用Neo4J和Spring Boot整合,如何在Spring Boot应用程序中使用Neo4J数据库来持久化数据、使用CQL语言进行高效的查询操作,并提供了一个非常简单的例子以演示如何使用Neo4J数据库。相信通过本文的学习,读者已经掌握了如何使用Neo4J和Spring Boot整合,并且具备将此应用于实际项目的能力。

💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14253.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python绘制带有误差棒的条形图

文章目录 bar和barh加入误差棒定制误差棒颜色 bar和barh 在matplotlib中&#xff0c;通过bar和barh来绘制条形图&#xff0c;分别表示纵向和横向的条形图。二者的输入数据均主要为高度x和标签height&#xff0c;示例如下 import matplotlib.pyplot as plt import numpy as np…

使用RabbitMQ

使用RabbitMQ 1 Docker安装RabbitMQ 1.1 安装RabbitMQ # 下载含有管理页面的镜像 docker pull rabbitmq:3.8.8-management# 创建容器 # 5672&#xff1a;应用访问端口&#xff1b;15672&#xff1a;控制台Web端口号&#xff1b; docker run -itd \ --namemy-rabbitmq \ --re…

html,css笔记1

这里写目录标题 一、快捷键及基础常识基础框架2.lang语言种类3.字符集4.HTML常用标签4.1标题标签&#xff08;重要&#xff09;4.2段落和换行标签(重要)4.3文本格式化标签 一、快捷键及基础常识 1.快速复制一行 快捷键&#xff1a;shiftalt下箭头 光标定位到要复制的一行 2.…

CAD绘制三维升旗台

首先绘制长方体的底座 用交叉对角线来定位&#xff0c;绘制一个小一点的矩形&#xff0c;用来定位 大概的效果&#xff1a; 沿着矩形的一个角绘制三个长方体&#xff0c;形成护栏 用阵列或者复制等形成四个角的护栏 旋转&#xff0c;换成真实的效果图&#xff1a; 添加一个圆…

Leetcode刷题笔记--Hot11-20

1--有效的括号&#xff08;20&#xff09; 主要思路&#xff1a; 利用栈&#xff0c;遍历字符串&#xff0c;遇到左括号则入栈&#xff0c;遇到右括号则出栈&#xff0c;并判断出栈元素是否与右括号匹配&#xff1b; 当字符串有效时&#xff0c;栈为空&#xff08;所有左括号都…

多元回归预测 | Matlab麻雀算法(SSA)优化极限梯度提升树XGBoost回归预测,SSA-XGBoost回归预测模型,多变量输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 麻雀算法(SSA)优化极限梯度提升树XGBoost回归预测,SSA-XGBoost回归预测模型,多变量输入模型,多变量输入模型,matlab代码回归预测,多

飞轮储能系统的建模与MATLAB仿真(永磁同步电机作为飞轮驱动电机)

简介 飞轮储能系统由于其高储能密度、高效率、轻污染的优点而越来越受到重视。飞轮储能系统以高速旋转的飞轮为依托&#xff0c;通过电力电子设备实现电能与动能的相互转化&#xff0c;从而在负载调峰、功率平抑、不间断电源等多领域都有很好的应用表现。 本文选用永磁同步电机…

【C++】list模拟实现

&#x1f680; 作者简介&#xff1a;一名在后端领域学习&#xff0c;并渴望能够学有所成的追梦人。 &#x1f681; 个人主页&#xff1a;不 良 &#x1f525; 系列专栏&#xff1a;&#x1f6f8;C &#x1f6f9;Linux &#x1f4d5; 学习格言&#xff1a;博观而约取&#xff0…

【大语言模型】15分钟快速掌握LangChain以及ChatGLM

10分钟快速掌握LangChain LangChain简介LangChain中的核心概念1. Components and Chains2. Prompt Templates and Values3. Example Selectors4. Output Parsers5. Indexes and Retrievers6. Chat Message History7. Agents and Tookits LangChain的代码结构1. LangChain中提供…

二叉树前中后序的非递归实现

前言 &#xff1a; 递归我们会有一些问题的 为什么有递归就一定有非递归呢&#xff1f;&#xff1f;首先递归是有一定缺陷的 递归真正的缺陷是&#xff0c;每一个程序运行起来呢都是一个线程的形式&#xff0c;但是每一个线程都会有独立的栈空间&#xff0c;但是栈空间是很…

性能优化(一)JMeter使用

简介&#xff1a; jmeter 是 apache 公司基于 java 开发的一款开源压力测试工具&#xff0c;体积小&#xff0c;功能全&#xff0c;使用方便&#xff0c;是一个比较轻量级的测试工具&#xff0c;使用起来非常简 单。因为 jmeter 是 java 开发的&#xff0c;所以运行的时候必须…

Tkinter_鼠标选中样式

前言 使用tkinter库创建窗口应用程序示例&#xff0c;包含不同鼠标样式标签。 一、方法 import tkinter as tkclass Mouse_Style:def __init__(self):self.root tk.Tk()self.root.title(样式)self.root.geometry("200x5201100150")self.interface()def interface(…