springboot使用neo4j
springboot2.2使用neo4j
第一次更新先放一些代码进来,下次加注释
1.引入相应的包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>
2.配置neo4j
spring.data.neo4j.uri=bolt://localhost:7687
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=admin
@Bean
public org.neo4j.ogm.config.Configuration getConfiguration(){
org.neo4j.ogm.config.Configuration configuration = new org.neo4j.ogm.config.Configuration.Builder()
.uri(environment.getProperty("spring.data.neo4j.uri"))
.connectionPoolSize(100)
.credentials(environment.getProperty("spring.data.neo4j.username"), environment.getProperty("spring.data.neo4j.password"))
.withBasePackages("com.distribute.order.repository")
.build();
return configuration;
}
@Bean
public SessionFactory sessionFactory(){
return new SessionFactory(getConfiguration());
}
@Bean("neo4jTransaction")
public Neo4jTransactionManager neo4jTransactionManager(SessionFactory sessionFactory){
return new Neo4jTransactionManager(sessionFactory);
}
3.配置接口
public interface CommonRepository extends Neo4jRepository{
@Query(" create(n:Person{name:'bob',born:'1990',location:'sjz'}) ")
void addNode();
@Query(" match(n) detach delete n ")
void deleteAll();
@Query(" match(n:Person{name:{0}}) return n ")
List<Map<String,Object>> findPerson(String name);
@Query(" create(movies:Movie{name:'starWars',released:'1990',title:'star wars'}) ")
void addNodeParent();
}
4.service层使用
@Autowired
private CommonRepository commonRepository;
@Override
@Transactional(value = "neo4jTransaction")
public Result addNode(Map<String, Object> params) throws Exception{
try{
commonRepository.addNode();
commonRepository.addNodeParent();
}catch(Exception e){
e.printStackTrace();
log.error("新增失败",e);
throw new RuntimeException("新增失败");
}
return new Result();
}
5.个人疑问
@Transactional(value = "transactionManager")默认事务管理器不会管理neo4j的事务
但是@Transactional(value = "neo4jTransaction"),使用neo4j的事务管理器,则可以同时管理mysql及neo4j的事务。但是没有查到什么资料,要是您知道,希望可以教教我
springboot使用neo4j的更多相关文章
- 凭借SpringBoot整合Neo4j,我理清了《雷神》中错综复杂的人物关系
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. 虽然距离中秋放假还要熬过漫长的两天,不过也有个好消息,今天是<雷神4>上线Disney+流媒体的日子 ...
- SpringBoot + docker + neo4j
下拉镜像 docker pull neo4j 启动镜像 docker run -d -p 7473:7473 -p 7687:7687 -p 7474:7474 neo4j 打开浏览器:http:// ...
- springboot整合neo4j
刚开始按网上博客搭建 spring boot 和 neo4j一直报sessionFactory找不到,直到下载了spring-data-neo4j的实例demo对比才搭建成功,而且用户名是neo4j, ...
- 数字化转型之数字资产知识库(springboot+es+vue+neo4j)
前言 在数字化高度普及的时代,企事业机关单位在日常工作中会产生大量的文档,例如医院制度汇编,企业知识共享库等.针对这些文档性的东西,手工纸质化去管理是非常消耗工作量的,并且纸质化查阅难,易损耗,所以电 ...
- Neo4j在linux上的安装与Springboot的集成
Neo4j在linux上的安装与Springboot的集成 在linux安装: 前提:安装配置好java环境 1.下载neo4j 官方社区版下载地址:https://neo4j.com/downloa ...
- SpringBoot构建大数据开发框架
http://blog.51cto.com/yixianwei/2047886 为什么使用SpringBoot 1.web工程分层设计,表现层.业务逻辑层.持久层,按照技术职能分为这几个内聚的部分,从 ...
- springboot2.0+Neo4j+d3.js构建知识图谱
Welcome to the Neo4j wiki! 初衷这是一个知识图谱构建工具,最开始是对产品和领导为了做ppt临时要求配合做图谱展示的不厌其烦,做着做着就抽出一个目前看着还算通用的小工具 技术栈 ...
- 千锋很火的SpringBoot实战开发教程视频
springboot是什么? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员 ...
- Spring-Boot使用neo4j-java-driver-- 查找两个节点之间关系的最短路径
一.Cypher数据 create (小北:朋友圈{姓名:"小北", 喜欢的书类:"Poetry"}), (小菲:朋友圈{姓名:"小菲", ...
随机推荐
- kubernetes 1.14安装部署helm插件
简单介绍: Helm其实就是一个基于Kubernetes的程序包(资源包)管理器,它将一个应用的相关资源组织成为Charts,并通过Charts管理程序包.再简单点说,可以当做RHEL/CentOS系 ...
- 时间控件My97DatePicker事件监听及用法
引入js <script src="My97DatePicker/WdatePicker.js"></script> 应用 <input type=& ...
- MySQL - \g 和 \G用法与区别
[1]DOS环境下 ① \g 可同时(单独)使用\g; 其作用等效于分号—’:’ : ② \G 可同时(单独)使用\G;; /G 的作用是将查到的结构旋转90度变成纵向:
- cmake 手册详解【转】
https://www.cnblogs.com/coderfenghc/tag/cmake/ CMake 手册详解(二十三) SirDigit 2012-12-16 22:03 阅读:11058 ...
- currency
currency 美 ['kʌrənsi] 英 ['kʌrənsi] n.货币:通货:通用:流行 网络流通:货币型:币种
- MD5与SHA1
一.MD5 MD5消息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于 ...
- JMS与消息队列
JMS,Java Message Service,即Java消息服务. MOM,Message Oriented Miiddleware的英文缩写,指的是利用高效可靠的消息传递机制进行平台无关的数据交 ...
- 让remix使用本地文件系统
让remix使用本地文件系统 转:https://blog.csdn.net/platocnet/article/details/83376792 1. 测试发现使用npm命令安装相关环境不成功, ...
- ISO/IEC 9899:2011 条款6.7.4——函数说明符
6.7.4 函数说明符 语法 1.function-specifier: inline _Noreturn 约束 2.函数说明符应该只能被用在对一个函数标识符的声明中. 3.对一个含有外部连接函数的内 ...
- Python3基础 complex real imag __abs__ 取复数的实部 虚部 模
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...