【spring-boot-starter-data-neo4j】创建结点和查找结点操作

server/2025/3/17 2:12:15/

neo4j_0">配置连接neo4j

# application.properties
spring.neo4j.uri=bolt://localhost:7687
spring.neo4j.authentication.username=neo4j
spring.neo4j.authentication.password=你的密码

定义实体类

package com.anmory.platform.GraphService.Dao;import org.springframework.data.neo4j.core.schema.GeneratedValue;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.Node;
import org.springframework.data.neo4j.core.schema.Property;@Node(labels = "药材名称")
public class Herb {@Id@GeneratedValueprivate Long id;@Property("name")private String name;public Herb() {}public Herb(String name) {this.name = name;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

定义仓库类

package com.anmory.platform.GraphService.Repository;import com.anmory.platform.GraphService.Dao.Herb;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.neo4j.repository.query.Query;
import org.springframework.stereotype.Repository;/*** @author Anmory/李梦杰* @description TODO* @date 2025-03-15 下午12:58*/@Repository
public interface HerbRepo extends Neo4jRepository<Herb, Long> {// 使用自定义查询@Query("MATCH (herb:药材名称 {name: $name}) RETURN herb")Herb findByName(String name);
}

定义服务类

package com.anmory.platform.GraphService.Service;import com.anmory.platform.GraphService.Dao.Herb;
import com.anmory.platform.GraphService.Repository.HerbRepo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class HerbService {private static final Logger logger = LoggerFactory.getLogger(HerbService.class);@Autowiredprivate HerbRepo herbRepo;public Herb createHerb(String name) {logger.info("Creating herb with name: {}", name);Herb herb = new Herb(name);return herbRepo.save(herb);}public Herb findHerbByName(String name) {logger.info("Finding herb by name: {}", name);return herbRepo.findByName(name); // 返回 null 如果未找到}
}

定义视图类

package com.anmory.platform.GraphService.Controller;import com.anmory.platform.GraphService.Dao.Herb;
import com.anmory.platform.GraphService.Service.HerbService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;@RestController
public class HerbController {@Autowiredprivate HerbService herbService;@PostMapping("/createherb")public Herb createHerb(@RequestParam String name) {System.out.println("name = " + name);return herbService.createHerb(name);}@GetMapping("/findherb")public Herb getHerbByName(@RequestParam String name) {System.out.println("name = " + name);return herbService.findHerbByName(name);}
}

测试创建和查找

在postman中输入以下url来创建和测试
http://localhost:8080/createherb?name=我的药材1
http://localhost:8080/findherb?name=我的药材1
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/server/175581.html

相关文章

rust 的Clone

Clone 是 Rust 编程语言中一个核心特质&#xff08;trait&#xff09;&#xff0c; 定义了类型如何安全、明确地创建其值的深拷贝&#xff08;deep copy&#xff09;。 下面用实例来演示Clone的作用&#xff0c;先看一下如下的代码&#xff0c;注意此代码编译不过。 #[derive…

C#类型转换大总结

在 C# 中,类型转换是将数据从一种类型转换为另一种类型的过程,常见的转换方式包括隐式转换、显式转换、方法转换(如 Convert 类或 Parse/TryParse)以及自定义转换操作符。以下是详细的分类和示例: 隐式转换(Implicit Conversion) 无需显式声明,编译器自动完成,通常发生…

Python数据分析之数据可视化

Python 数据分析重点知识点 本系列不同其他的知识点讲解&#xff0c;力求通过例子让新同学学习用法&#xff0c;帮助老同学快速回忆知识点 可视化系列&#xff1a; Python基础数据分析工具数据处理与分析数据可视化机器学习基础 四、数据可视化 图表类型与选择 根据数据特…

用Deepseek写一个五子棋微信小程序

在当今快节奏的生活中&#xff0c;休闲小游戏成为了许多人放松心情的好选择。五子棋作为一款经典的策略游戏&#xff0c;不仅规则简单&#xff0c;还能锻炼思维。最近&#xff0c;我借助 DeepSeek 的帮助&#xff0c;开发了一款五子棋微信小程序。在这篇文章中&#xff0c;我将…

【文献阅读】DeepRAG:大语言模型的检索增强推理新范式

DeepRAG&#xff1a;《Thinking to Retrieval Step by Step for Large Language Models》。这是一篇关于如何让大语言模型&#xff08;LLMs&#xff09;更聪明地进行检索增强推理&#xff08;Retrieval-Augmented Generation, RAG&#xff09;的研究。 标题期刊年份关键词Deep…

PyCharm接入本地部署DeepSeek 实现AI编程!【支持windows与linux】

今天尝试在pycharm上接入了本地部署的deepseek&#xff0c;实现了AI编程&#xff0c;体验还是很棒的。下面详细叙述整个安装过程。 本次搭建的框架组合是 DeepSeek-r1:1.5b/7b Pycharm专业版或者社区版 Proxy AI&#xff08;CodeGPT&#xff09; 首先了解不同版本的deepsee…

虚幻基础:动画层接口

文章目录 动画层&#xff1a;动画图表中的函数接口&#xff1a;名字&#xff0c;没有实现。动画层接口&#xff1a;由动画蓝图实现1.动画层可直接调用实现功能2.动画层接口必须安装3.动画层默认使用本身实现4.动画层也可使用其他动画蓝图实现&#xff0c;但必须在角色蓝图中关联…

MambaTab:表格数据处理的新利器

——基于结构化状态空间模型的特征增量学习框架 摘要 本文提出MambaTab&#xff0c;一种基于结构化状态空间模型&#xff08;SSM&#xff09;的表格数据处理框架。通过创新的嵌入稳定化设计与轻量化SSM架构&#xff0c;MambaTab在普通监督学习和特征增量学习场景中均表现优异&…