spring boot mybatisplus集成_spring-boot集成neo4j

v2-3055872d3e6b2dfe85786a64e89d17e0_1440w.jpg?source=172ae18b

基本环境

此demo依赖的spring-boot版本为:2.1.12.RELEASE

运行环境:

JDK:1.8及以上

neo4j:3.5.5版本,4.0版本要求必须jdk11了

项目管理:maven

添加依赖

<dependency>  

application.properties 配置如下:

spring.data.neo4j.username=neo4j
spring.data.neo4j.password=0000
spring.data.neo4j.uri=http://127.0.0.1:7474

实体定义

movie实体的定义如下

package 
@NodeEntity:声明该类为Neo4j的节点类

movie的仓库类定义

package com.example.neo4j.neo4jdemo.repository;
import com.example.neo4j.neo4jdemo.entity.Movie;
import org.springframework.data.neo4j.annotation.Query;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
 * @date 2020/1/21 3:55 PM
 **/
public interface MovieRepository extends Neo4jRepository<Movie,Long> {
    /**
     * CQL语法
     * @param name
     * @return
     */
    @Query("match (p:person{person_name:{name}})-[a:ACTED_IN]->(m:movie) return m")
    public List<Movie> findByPerson(@Param("name") String name);

    @Query("match (p:person{person_name:{name}})-[a:ACTED_IN]->(m:movie) return count(m) as count")
    public Integer findCountByPerson(@Param("name") String name);

    @Query("create (m:movie{id:{id},movie_id:{movieId},movie_title:{movieTitle},movie_introduction:{movieIntroduction}}) return m")
    public Movie saveMovie(@Param("id") Long id, @Param("movieTitle") String movieTitle, @Param("movieId") String movieId, @Param("movieIntroduction") String movieIntroduction);
}

controller类定义

这里的demo省了service层,controller直接操作了repository层,进行movie实体的CRUD

package com.example.neo4j.neo4jdemo.controller;
import com.example.neo4j.neo4jdemo.entity.Movie;
import com.example.neo4j.neo4jdemo.repository.MovieRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * Spring Mvc的根路径、健康检查等。
 */
@RestController
public class MainController {
    @Autowired
    MovieRepository movieRepository;
    @GetMapping("/movie/{movieId}")
    public Movie findMovie(@PathVariable("movieId") Long movieId){
        return movieRepository.findById(movieId).orElse(null);
    }
    @GetMapping("/movie/save/{id}")
    public Movie findMovie(@PathVariable("id")Long id,@RequestParam("movieId") String movieId,@RequestParam("movieId") String movieTitle){
        Movie moviet = movieRepository.saveMovie(id,movieTitle,movieId,movieTitle);
        return movieRepository.findById(id).orElse(null);
    }
    @GetMapping("/movie/author/{name}")
    public List<Movie> findMovieByPerson(@PathVariable("name") String name){
        return movieRepository.findByPerson(name);
    }
    @GetMapping("/movie/count/{name}")
    public Integer findMovieCountByPerson(@PathVariable("name") String name){
        return movieRepository.findCountByPerson(name);
    }
}

demo效果

以上配置完毕,启动时可以看到以下结果

访问http://localhost:8080/movie/39

结果返回

v2-89cbaacd4a4d524d4a537e6849ee31ac_b.jpg

访问 http://localhost:8080/movie/author/%E5%91%A8%E6%98%9F%E9%A9%B0 ,结果返回如下

v2-fbc680865558b14af86170ff7128a23e_b.jpg

以上代码库https://gitee.com/seeeyoume/neo4j-demo 需要可以clone看下

### 回答1: Spring Boot Neo4j 是一个基于 Spring Boot 框架的 Neo4j 图数据库应用程序开发框架。它提供了一系列的 API 和工具,帮助开发者快速构建和管理知识图谱应用程序。通过 Spring Boot Neo4j,开发者可以轻松地创建和管理节点、关系和属性,实现知识图谱的可视化展示和数据分析。同时,Spring Boot Neo4j 还支持多种数据存储和查询方式,包括 Cypher 查询语言和 Java API 等。它是构建知识图谱应用程序的一个强大工具。 ### 回答2: Spring Boot Neo4j知识图谱是一种基于Spring Boot框架和Neo4j图形数据库的知识图谱应用程序开发方案。知识图谱是一种基于图形结构的数据存储和查询方法,能够以更自然的方式对数据进行建模和操作。它不仅能够支持复杂的数据查询和处理任务,还能够帮助企业构建更智能的系统和服务。 Spring Boot Neo4j知识图谱的主要特点包括: 1. 灵活的数据建模:Neo4j是一个基于节点(Node)和关系(Relationship)的图形数据库,通过这种方式可以更加自然地建模和组织数据。使用Spring Boot Neo4j,可以利用Neo4j的节点和关系来建立知识图谱,并且灵活地处理各种实体和关系之间的复杂关系。 2. 快速的数据查询:Neo4j能够在复杂的关系网络中快速地定位和查询数据,这种查询方式非常适用于需要快速搜索特定数据的应用。使用Spring Boot Neo4j,用户可以轻松地编写Cypher查询语句,从而快速地查询知识图谱中的数据。 3. 高效的数据处理:知识图谱处理任务通常需要处理大量的数据,这对于传统的数据库系统来说可能是一种挑战。然而,Neo4j采用了一种内存映射技术,可以非常高效地处理大量的数据。同时,Spring Boot提供了丰富的扩展机制,使得用户可以自由地扩展系统的功能和性能。 4. 简便的集成和部署:Spring Boot是一种非常便捷的应用程序开发框架,它可以充分利用Java的生态系统,并且提供了很多常用的组件和工具。Spring Boot Neo4j利用了Spring Boot的这些优点,可以快速地构建、测试和部署知识图谱应用程序。 总之,Spring Boot Neo4j知识图谱是一种非常实用的应用程序开发方案,它可以帮助企业构建更智能、更强大的系统和服务,应用于知识管理、推荐系统、社交网络、金融和医疗等领域。 ### 回答3: Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它允许开发人员可以更快速、更容易地构建、部署和运行应用程序。而Neo4j是一种开源的图形数据库,可以存储和管理网络、社交媒体、金融和推荐数据。它适用于需要处理大量连接数据的应用程序场景。 知识图谱是一种图形数据库,并提供了一个完整的知识管理和数据挖掘平台,它通过图形、搜索、推理以及其他技术,对多源异构的数据进行建模与智能分析。将Spring BootNeo4j结合使用,可以实现知识图谱的构建和应用。 在Spring Boot中使用Neo4j,需要引入Spring Data Neo4j插件。Spring Data Neo4j提供了一些注解和API操作来简化图形数据库的使用,并与Spring Boot集成得非常紧密。可以通过注解来定义图形数据库中的节点和关系,在查询时可以使用一些简单的方法,如通过名称或其他属性过滤节点,或者通过指定节点之间的关系进行遍历。 通过使用Spring BootNeo4j,开发人员可以更轻松地管理和查询图形数据库,适应更复杂的数据模型和图形查询,并利用Neo4j的图形算法来实现更深入的数据分析。此外,这种方法还可以最小化与数据库平台的交互,提高应用程序的性能和可扩展性。最终将构建出强大的知识图谱应用程序,帮助我们更好地了解和管理数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值