当前位置:   article > 正文

spring-data-neo4j 使用和总结_spring 集成 neo4j 动态传参

spring 集成 neo4j 动态传参

上一篇博客写了neo4j的下载安装以及简单的使用,这篇主要写在开发的时候遇到的一些坑和问题,同时也是自己的一个总结。

首先列出几个问题:

    1.neo4j如何返回多个类型的关系和节点。

    2.spring-data-neo4j  如何在dao层中自定义传参,或者自己拼接好cql当做参数传入dao层

    3.

 

第一个问题:开发的时候我有两种节点   Person和Book,但是关系却有大概10几种。我看了neo4j的官方实例以及github上的绝大部分实例,但是无一例外那些例子都是返回的一个关系,要么就是通过查询多次返回关系。让我不禁对自己产生了怀疑,难道真的不能一次返回所有的关系?  答案是当然可以,但是我们要为每个节点个关系建一个实体类,这是必不可少的。 我的pojo包里面有大概20个实体类。。。。。。。。

第二个问题:由于spring-data-neo4j是在dao层注解上写查询语句的,那么就会遇到一些传参的问题,当然,我们可以用@Param("id") int id 这种方式来传参,但是如果要传入节点类型customer的时候这种方式竟然不行(当然,我是没传进去,不知道其他人怎么传的)。于是我研究了neo4j的api发现可以在service层拼接好cql,然后把整个cql当做参数传入dao层去执行。

 

以上两个问题的答案就在下面的代码里了,让我们一起去探索吧!!

这是dao层。我们可以看到下图中第二个查询语句是解决第二个问题的,传入整个cql,但是我们用到call  apoc.cypher.run,应该有人不理解这是神马,这是一个neo4j的apoc中的

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号