当前位置: 首页 > news >正文

Neo4j导入数据之JAVA JDBC

目录结构

    • 前言
    • 设置neo4j外部访问
    • 代码整理
      • maven 依赖
      • java 代码
    • 参考链接

在这里插入图片描述

前言

公司需要获取neo4j数据库内容进行数据筛查,neo4j数据库咱也是头一次基础,辛辛苦苦安装好整理了安装neo4j的步骤,如今又遇到数据不知道怎么创建,关关难过关关过,前路漫漫亦灿灿,现调查整理如下:

设置neo4j外部访问

编辑安装目录“C:\Users\admin\Desktop\Neo4j\neo4j-community-5.8.0\conf\neo4j.conf”文件,大概在83行;

# Bolt connector
server.bolt.enabled=true
#server.bolt.tls_level=DISABLED
# 修改前...
# server.bolt.listen_address=:7687
# 修改后...
server.bolt.listen_address=0.0.0.0:7687
#server.bolt.advertised_address=:7687# HTTP Connector. There can be zero or one HTTP connectors.
server.http.enabled=true
# 修改前...
# server.http.listen_address=:7474
# 修改后...
server.http.listen_address=0.0.0.0:7474
#server.http.advertised_address=:7474

代码整理

maven 依赖

<dependency><groupId>org.neo4j.driver</groupId><artifactId>neo4j-java-driver</artifactId><version>4.2.0</version>
</dependency>
<!-- 此demo中以下依赖可以不加,但在项目中需要加以下依赖,否则加载驱动时加载不成功 -->
<dependency><groupId>org.neo4j</groupId><artifactId>neo4j</artifactId><version>3.3.4</version>
</dependency>

java 代码

import org.apache.commons.collections4.MapUtils;
import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
import org.neo4j.driver.Session;import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class Kaixuan {private static final Integer DATA_SIZE = 20;private static List<Map<String, Object>> generateData() {List<Map<String, Object>> datas = new ArrayList<>(DATA_SIZE);Map<String, Object> tmpMap = null;for (int i = 0; i < DATA_SIZE; i++) {tmpMap = new HashMap<>();datas.add(tmpMap);tmpMap.put("cardNum", i);tmpMap.put("userName", "进击巨人" + i);tmpMap.put("transferCardNum", (i + 1) % 20);tmpMap.put("transferAmount", i);}return datas;}private static void inertNeo4jTest() {// 构造数据, 数据和pg 库里面的数据一样List<Map<String, Object>> datas = generateData();Driver driver = GraphDatabase.driver("bolt://192.168.1.111:7687", AuthTokens.basic("neo4j", "123qweQWE"));Session session = driver.session();// 手动create to neo4jString createCQLTemplate = "create (n:jinjijuren {cardNum: '$cardNum', userName: '$userName', transferCardNum: '$transferCardNum', transferAmount: '$transferAmount'})";for (Map<String, Object> data : datas) {String createCQL = createCQLTemplate.replace("$cardNum", MapUtils.getString(data, "cardNum")).replace("$userName", MapUtils.getString(data, "userName")).replace("$transferCardNum", MapUtils.getString(data, "transferCardNum")).replace("$transferAmount", MapUtils.getString(data, "transferAmount"));session.run(createCQL);}// 手动维护关系String mergeCQLTemplate = "match (a:jinjijuren{cardNum: '$cardNum1'}), (b:jinjijuren{cardNum: '$cardNum2'}) MERGE(a)-[:TRANSFER{transferAmount: '$transferAmount'}]->(b)";datas.forEach(data -> {String mergeCQL = mergeCQLTemplate.replace("$cardNum1", MapUtils.getString(data, "cardNum")).replace("$cardNum2", MapUtils.getString(data, "transferCardNum")).replace("$transferAmount", MapUtils.getString(data, "transferAmount"));session.run(mergeCQL);});// close resourcesession.close();driver.close();}public static void main(String[] args) {inertNeo4jTest();}
}

在这里插入图片描述

参考链接

  1. https://www.cnblogs.com/qlqwjy/p/14774488.html

相关文章:

  • 消息中间件之RocketMQ为什么写文件这么快?
  • R语言【raster】——projectRaster():映射一个Raster对象
  • Laravel02 路由基本概念和用法 给视图传递请求参数
  • Docker Image(镜像)
  • sentinel的资源数据指标是如何采集
  • Vue3 + Ts (使用lodash)
  • electron学习和新建窗口
  • 强化学习入门(Matlab2021b)-创建环境【2】
  • [TCP] TCP/IP 基础知识词典(2)
  • Putty中运行matlab文件
  • 短剧小程序系统,重塑视频观看体验的科技革命
  • 【Linux】用户与用户组,用户账号系统文件
  • 全球游戏市场回暖,Flat Ads推动海外获客增长
  • gin源码实战 day2
  • 【GPTs分享】每日GPTs分享之Canva
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • go append函数以及写入
  • Gradle 5.0 正式版发布
  • HTML-表单
  • If…else
  • JavaScript服务器推送技术之 WebSocket
  • Java教程_软件开发基础
  • SpiderData 2019年2月23日 DApp数据排行榜
  • spring boot 整合mybatis 无法输出sql的问题
  • 彻底搞懂浏览器Event-loop
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 机器学习中为什么要做归一化normalization
  • 微信小程序--------语音识别(前端自己也能玩)
  • 为视图添加丝滑的水波纹
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 源码安装memcached和php memcache扩展
  • raise 与 raise ... from 的区别
  • 组复制官方翻译九、Group Replication Technical Details
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #etcd#安装时出错
  • (1)STL算法之遍历容器
  • (初研) Sentence-embedding fine-tune notebook
  • (分布式缓存)Redis持久化
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • ./configure,make,make install的作用
  • .netcore如何运行环境安装到Linux服务器
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • @property python知乎_Python3基础之:property
  • @Transactional类内部访问失效原因详解
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [AX]AX2012 R2 出差申请和支出报告
  • [C/C++]数据结构 栈和队列()
  • [CDOJ 1343] 卿学姐失恋了
  • [CF407E]k-d-sequence
  • [ComfyUI进阶教程] animatediff视频提示词书写要点