精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Java 操作 Neo4J 就是這么簡單!

開發 后端
前幾天阿粉給大家擴展了關于 Neo4J 圖譜數據庫的內容,今天阿粉教給大家如何使用 Java 來操作 Neo4j 數據庫。

[[442141]]

本文轉載自微信公眾號「Java極客技術」,作者鴨血粉絲Tang。轉載本文請聯系Java極客技術公眾號。

前幾天阿粉給大家擴展了關于 Neo4J 圖譜數據庫的內容,今天阿粉教給大家如何使用 Java 來操作 Neo4j 數據庫。

使用 Java 操作 Neo4J

首先我們先使用原生的這種方式,導入 jar 包,然后:

  1. public class TestController { 
  2.     public static void main(String[] args) { 
  3.         Driver driver = GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j""Yinlidong1995.")); 
  4.         Session session = driver.session(); 
  5.         session.run("CREATE (n:Part {name: {name},title: {title}})"
  6.                 parameters( "name""Arthur001""title""King001" )); 
  7.         StatementResult result = session.run( "MATCH (a:Part) WHERE a.name = {name} " + 
  8.                         "RETURN a.name AS name, a.title AS title"
  9.                 parameters( "name""Arthur001")); 
  10.         while (result.hasNext()) { 
  11.             Record record = result.next(); 
  12.             System.out.println( record.get( "title" ).asString() + "" + record.get( "name" ).asString() ); 
  13.         } 
  14.         session.close(); 
  15.         driver.close(); 
  16.     } 

這是一種比較古老的方式,來實現的,而且還是需要些 CQL 語句來進行實現。但是勝在非常好理解,這個時候,我們需要再來看看圖,看看在 Neo4J 中他是怎么展現的。

通過這個,我們至少證明我們成功連上了,并且創建也成功了。

這時候有細心的讀者就會問,為啥我之前在 GraphDatabase.driver 的地方,連接的是

bolt://localhost:7687.

這是因為,你啟動的Neo4J 是7474,也就是說,Neo4J 服務里面可不是這個來連接,

SpringBoot 整合 Neo4j

1.創建SpringBoot項目

常規的創建SpringBoot項目,

創建完成之后,習慣性的要改一下 SpringBoot 的版本號,最好別用最新的,因為阿粉親身經歷,使用最新版的,出現了錯誤你都不知道怎么出現的,就是這么神奇,你永遠都發現不了的bug。

我們把版本號改成2.1.0,這樣的話,我們在 pom 文件中加入依賴 jar

  1. <dependency> 
  2.  <groupId>org.springframework.boot</groupId> 
  3.  <artifactId>spring-boot-starter-data-neo4j</artifactId> 
  4. </dependency> 
  5. <dependency> 
  6.  <groupId>org.projectlombok</groupId> 
  7.  <artifactId>lombok</artifactId> 
  8.  <version>1.16.10</version> 
  9. </dependency> 

 

2.增加配置

  1. spring: 
  2.   data: 
  3.     neo4j: 
  4.       url: bolt://localhost:7687 
  5.       username: neo4j 
  6.       password: Yinlidong1995. 
  7.   main: 
  8.     allow-bean-definition-overriding: true 

3.Neo4JConfig

  1. package com.example.neo4j.config; 
  2.  
  3. import org.neo4j.driver.v1.AuthTokens; 
  4. import org.neo4j.driver.v1.Driver; 
  5. import org.neo4j.driver.v1.GraphDatabase; 
  6. import org.neo4j.driver.v1.Session; 
  7. import org.springframework.beans.factory.annotation.Value; 
  8. import org.springframework.context.annotation.Bean; 
  9. import org.springframework.context.annotation.Configuration; 
  10. import org.springframework.data.neo4j.repository.config.EnableNeo4jRepositories; 
  11. import org.springframework.transaction.annotation.EnableTransactionManagement; 
  12.  
  13. @Configuration 
  14. @EnableNeo4jRepositories("com.example.neo4j.repository"
  15. @EnableTransactionManagement 
  16. public class Neo4jConfig { 
  17.     @Value("${spring.data.neo4j.url}"
  18.     private String url; 
  19.     @Value("${spring.data.neo4j.username}"
  20.     private String userName; 
  21.     @Value("${spring.data.neo4j.password}"
  22.     private String password
  23.  
  24.     @Bean(name = "session"
  25.     public Session neo4jSession() { 
  26.         Driver driver = GraphDatabase.driver(url, AuthTokens.basic(userName, password)); 
  27.         return driver.session(); 
  28.     } 

4.編寫實體類

  1. package com.example.neo4j.entry; 
  2.  
  3. import org.neo4j.ogm.annotation.*; 
  4.  
  5. import java.util.HashSet; 
  6. import java.util.Set
  7. @NodeEntity("group"
  8. @Data 
  9. public class GroupNode { 
  10.     @Id 
  11.     @GeneratedValue 
  12.     private Long id; 
  13.  
  14.     /** 
  15.      * 班級名稱 
  16.      */ 
  17.     @Property(name = "name"
  18.     private String name
  19.  
  20.     /** 
  21.      * 編號 
  22.      */ 
  23.     private String num; 
  24.  
  25.     @Relationship(type = "RelationEdge"
  26.     private Set<RelationEdge> sets = new HashSet<>(); 
  27.  
  28.     public void addRelation(StudentNode sonNode, String name) { 
  29.         RelationEdge relationNode = new RelationEdge(this, sonNode, name); 
  30.         sets.add(relationNode); 
  31.         sonNode.getSets().add(relationNode); 
  32.     } 

學生實體類:

  1. package com.example.neo4j.entry; 
  2. import org.neo4j.ogm.annotation.GeneratedValue; 
  3. import org.neo4j.ogm.annotation.Id; 
  4. import org.neo4j.ogm.annotation.NodeEntity; 
  5. import org.neo4j.ogm.annotation.Relationship; 
  6.  
  7. import java.util.HashSet; 
  8. import java.util.Set
  9.  
  10. /** 
  11.  * 有點類似于Mysql中的table 映射的對象類,mysql中叫做ORM,neo4j中叫做OGM [object graph mapping] 
  12.  */ 
  13. @NodeEntity("student"
  14. @Data 
  15. public class StudentNode { 
  16.     @Id 
  17.     @GeneratedValue 
  18.     private Long id; 
  19.  
  20.     /** 
  21.      * 學生名稱 
  22.      */ 
  23.     private String name
  24.  
  25.     /** 
  26.      * 性別 
  27.      */ 
  28.     private String sex; 
  29.  
  30.     @Relationship(type = "RelationEdge", direction = "INCOMING"
  31.     private Set<RelationEdge> sets = new HashSet<>(); 
  32.     
  1. package com.example.neo4j.entry; 
  2. import lombok.Data; 
  3. import org.neo4j.ogm.annotation.*; 
  4.  
  5. @RelationshipEntity(type = "RelationEdge"
  6. @Data 
  7. public class RelationEdge { 
  8.     @Id 
  9.     @GeneratedValue 
  10.     private Long id; 
  11.  
  12.     // 關系名 
  13.     private String name
  14.  
  15.     @StartNode 
  16.     private GroupNode groupNode; 
  17.  
  18.     @EndNode 
  19.     private StudentNode studentNode; 
  20.  
  21.     public RelationEdge(GroupNode parentNode, StudentNode sonNode, String name) { 
  22.         this.groupNode = parentNode; 
  23.         this.studentNode = sonNode; 
  24.         this.name = name
  25.     } 

5.Repository接口

對應的學生接口:

  1. package com.example.neo4j.repository; 
  2.  
  3. import com.example.neo4j.entry.StudentNode; 
  4. import org.springframework.data.neo4j.repository.Neo4jRepository; 
  5.  
  6. public interface StudentRepository extends Neo4jRepository<StudentNode,Long> { 

對應的班級接口

  1. package com.example.neo4j.repository; 
  2.  
  3. import com.example.neo4j.entry.GroupNode; 
  4. import org.springframework.data.neo4j.repository.Neo4jRepository; 
  5.  
  6. public interface GroupRepository extends Neo4jRepository<GroupNode,Long> { 

最后完成編寫我們的 Controller

  1. package com.example.neo4j.controller; 
  2.  
  3. import com.example.neo4j.entry.*; 
  4. import com.example.neo4j.repository.GroupRepository; 
  5. import com.example.neo4j.repository.StudentRepository; 
  6. import lombok.extern.slf4j.Slf4j; 
  7. import org.springframework.beans.factory.annotation.Autowired; 
  8. import org.springframework.web.bind.annotation.GetMapping; 
  9. import org.springframework.web.bind.annotation.RequestMapping; 
  10. import org.springframework.web.bind.annotation.RestController; 
  11.  
  12.  
  13. @RestController 
  14. @RequestMapping("/node"
  15. @Slf4j 
  16. public class GroupController { 
  17.  
  18.     @Autowired 
  19.     private StudentRepository studentRepository; 
  20.     @Autowired 
  21.     private GroupRepository groupRepository; 
  22.  
  23.     @GetMapping(value = "/create"
  24.     public void createNodeRelation() { 
  25.         StudentNode studentNode1 = new StudentNode(); 
  26.         studentNode1.setName("Alen"); 
  27.         studentNode1.setSex("男"); 
  28.         StudentNode studentNode2 = new StudentNode(); 
  29.         studentNode2.setName("Kai"); 
  30.         studentNode2.setSex("女"); 
  31.         studentRepository.save(studentNode1); 
  32.         studentRepository.save(studentNode2); 
  33.  
  34.         GroupNode groupNode = new GroupNode(); 
  35.         groupNode.setName("火箭班"); 
  36.         groupNode.setNum("298"); 
  37.         // 增加關系 
  38.         groupNode.addRelation(studentNode1, "includes"); 
  39.         groupNode.addRelation(studentNode2, "includes"); 
  40.         groupRepository.save(groupNode); 
  41.     } 

啟動之后,訪問http://localhost:8080/node/create

我們再去圖譜數據庫看看。

怎么樣,使用Java 操作是不是也是非常簡單的呢?這樣的圖譜數據庫你會選擇么?

 

責任編輯:武曉燕 來源: Java極客技術
相關推薦

2025-07-18 08:15:55

2022-11-18 17:53:03

Neo4j

2017-07-28 15:12:28

Neo4j圖數據庫

2011-07-26 12:48:52

neo4j圖數據庫

2022-04-13 11:32:45

Neo4j圖數據庫

2021-12-03 20:33:08

計算

2018-05-16 08:26:39

知識圖譜Neo4j

2024-08-08 08:31:32

SpringNeo4j優化

2024-06-03 10:53:18

LLMRAGGraphRAG

2025-10-09 00:00:00

Neo4jLLMs結構化

2011-09-22 16:46:02

Neo4j圖形數據庫數據庫

2022-01-17 14:34:59

數據平臺數據數字化

2022-01-17 17:10:18

Neo4j 圖數據庫

2021-05-24 10:50:10

Git命令Linux

2017-11-28 15:29:04

iPhone X網頁適配

2018-05-03 15:40:33

2015-09-28 08:57:06

Ruby APPNeo4j

2017-04-24 20:30:47

數據庫工具導入數據

2024-08-28 08:42:21

API接口限流

2020-06-16 10:57:20

搭建
點贊
收藏

51CTO技術棧公眾號

一本大道久久a久久精二百| 韩国女主播成人在线观看| 亚洲黄在线观看| 日本在线观看a| 免费在线看黄色| 国产不卡一区视频| 青青精品视频播放| 日本二区三区视频| 精品国产影院| 欧美日韩精品一区二区三区四区 | 97超碰蝌蚪网人人做人人爽| 日本少妇高潮喷水xxxxxxx| 宅男噜噜噜66国产精品免费| 精品国产乱码久久久久久虫虫漫画 | 天天综合网天天综合| 奇米影视一区二区三区小说| 欧美大秀在线观看| 五月天精品视频| va天堂va亚洲va影视| 午夜欧美在线一二页| 正在播放精油久久| 日本亚洲欧美| 国产+成+人+亚洲欧洲自线| 国产成人a亚洲精品| 久久久久久久久久久97| 欧美一区电影| 亚洲国产精品久久91精品| 黄色片视频在线| zzzwww在线看片免费| 国产精品的网站| 清纯唯美一区二区三区| www.av网站| 青青草成人在线观看| 91av成人在线| 九九在线观看视频| 五月天综合网站| 伊人成人开心激情综合网| 在线精品视频播放| 高清久久精品| 欧美日韩久久一区| 一本色道无码道dvd在线观看| 日本不卡影院| 亚洲美女视频在线| 亚洲欧美日韩另类精品一区二区三区| 亚洲人在线观看视频| 国产高清无密码一区二区三区| 国产精品午夜一区二区欲梦| 久草手机在线观看| 亚洲经典在线| 久久久久久91香蕉国产| 国产这里有精品| 99国产精品一区二区| 一区二区三区 在线观看视| 人妻丰满熟妇av无码久久洗澡| 亚洲精品高潮| 精品欧美久久久| 成人免费播放视频| 电影中文字幕一区二区| 91精品在线麻豆| 不用播放器的免费av| 国产精品天堂蜜av在线播放| 欧美丝袜丝nylons| www.日本一区| 色综合久久久| 欧美一级一区二区| 香蕉视频色在线观看| 欧美日韩黄网站| 欧美一级理论片| 亚洲精品无码一区二区| 精品国产乱子伦一区二区| 亚洲精品一区二区三区福利| 国产伦精品一区三区精东| 欧美日韩麻豆| 亚洲最新av在线| 亚洲精品卡一卡二| 91成人网在线观看| 欧美激情视频三区| 91九色丨porny丨肉丝| 亚洲欧美日韩国产一区二区| 国产成人午夜视频网址| 夜夜嗨aⅴ一区二区三区| 国内精品免费在线观看| 翡翠波斯猫1977年美国| 四虎影院在线域名免费观看| 日本一区二区视频在线| 天天干天天操天天干天天操| dy888亚洲精品一区二区三区| 一区二区三区高清在线| 欧美久久久久久久久久久久久| 亚洲成人短视频| 777xxx欧美| 催眠调教后宫乱淫校园| 亚洲另类av| 日韩色av导航| www.av麻豆| 免费观看成人av| 99re6热在线精品视频播放速度| 日韩专区第一页| 国产无一区二区| 公共露出暴露狂另类av| 男人久久天堂| 91精品国产入口在线| 中文字幕日韩三级片| 日韩电影免费网站| 久久理论片午夜琪琪电影网| 久久久久精彩视频| 大陆成人av片| 亚洲精品在线免费看| 国产丝袜在线播放| 欧美视频在线一区| 精品国产av色一区二区深夜久久| 日韩在线理论| 69视频在线播放| 国产精品久久久久久久免费看 | 欧美一区二区三区小说| 久久久久成人精品无码中文字幕| 首页国产精品| 欧美一区二区三区免费视| 国产精品老熟女视频一区二区| 97se亚洲国产综合自在线| 在线播放 亚洲| 97se综合| 亚洲成色777777女色窝| 波多野结衣久久久久| 亚洲一区二区伦理| 亚洲最大福利网站| 最新国产在线观看| 日韩欧美一区二区三区久久| xxx中文字幕| 日韩精品免费| 日本不卡免费高清视频| 免费观看a视频| 亚洲私人黄色宅男| 人人干人人干人人| 国产欧美一区二区三区精品观看| 国内精品久久久久久久久| a级片在线免费看| 国产精品美女久久福利网站| 成人在线观看a| 亚洲精品蜜桃乱晃| 91禁外国网站| 欧美熟妇乱码在线一区| 亚洲欧美另类图片小说| 亚洲天堂伊人网| 国产国产精品| 91色视频在线导航| 久热国产在线| 在线播放91灌醉迷j高跟美女| 亚洲色图第四色| 首页综合国产亚洲丝袜| 久久综合精品一区| 性欧美freesex顶级少妇| 亚洲第一视频网| 国产一级视频在线| 成人综合在线观看| 少妇大叫太大太粗太爽了a片小说| 国产精品亚洲欧美日韩一区在线| 久久久av电影| 国产手机视频在线| 亚洲精品大片www| ass极品水嫩小美女ass| 欧美日韩99| 狠狠久久综合婷婷不卡| 国产乱码午夜在线视频| 日韩大陆毛片av| 免费视频久久久| 国产欧美日本一区二区三区| 色www免费视频| 偷偷www综合久久久久久久| 亚洲精品欧美日韩专区| 日本一级理论片在线大全| 精品福利一二区| 人人干人人干人人干| 久久奇米777| 男女视频在线看| 性欧美欧美巨大69| 国产伦一区二区三区色一情| 欧美在线极品| 亚洲午夜av久久乱码| 一本色道久久综合亚洲| 亚洲日本在线观看| 国产午夜在线一区二区三区| 国产手机视频一区二区| 亚州欧美一区三区三区在线| 亚洲黑人在线| 性色av一区二区三区在线观看| 男人av在线| 欧美精品v国产精品v日韩精品| 黄色一级片在线免费观看| 2020国产精品自拍| 在线看的黄色网址| 国产伊人精品| 欧洲亚洲一区二区三区四区五区| 日韩成人综合网| 久久久久一本一区二区青青蜜月| 欧美在线观看在线观看| 欧美日韩一区成人| 中文字幕第28页| 国产精品亲子伦对白| jjzz黄色片| 热久久国产精品| 国产av人人夜夜澡人人爽麻豆 | 一区二区在线免费视频| 亚洲精品一区二区三区四区 | 男女啪啪网站视频| 国产精品多人| 香蕉久久免费影视| 久久久免费毛片| 成人网在线免费看| 无遮挡爽大片在线观看视频| 久久久国产精品视频| 蜜桃视频在线播放| 精品国产一二三区| 亚洲无码久久久久久久| 欧美日韩国产一区二区| 极品久久久久久| 日本一区二区三区久久久久久久久不 | 成人av在线播放观看| av一区二区在线播放| 亚洲综合第一页| 日本成人福利| 日本精品免费观看| 金瓶狂野欧美性猛交xxxx| 最好看的2019的中文字幕视频| 无码国产精品96久久久久| 欧美精品1区2区| 久久精品视频2| 天天影视网天天综合色在线播放| 99鲁鲁精品一区二区三区| 久久久国产一区二区三区四区小说| 美女又黄又免费的视频| 理论片日本一区| av无码精品一区二区三区| 99精品国产一区二区青青牛奶 | 波多野结衣在线播放| 久久天天躁狠狠躁夜夜躁| 福利片在线看| 亚洲欧洲av一区二区| 三级在线播放| 亚洲第一页在线| 风流少妇一区二区三区91| 欧美一二三四在线| 国产精品玖玖玖| 欧美另类z0zxhd电影| 最近国语视频在线观看免费播放| 一本久久精品一区二区| 亚洲天堂av片| 欧美日韩国产专区| 日韩三级小视频| 亚洲国产精品欧美一二99| 久久亚洲精品大全| 一区二区三区日韩欧美| 久久久久久久久久网站| 亚洲人成网站色在线观看| 亚洲色偷偷综合亚洲av伊人| 综合欧美亚洲日本| 成人在线观看免费完整| 亚洲丝袜制服诱惑| 欧美在线视频第一页| 亚洲精品ww久久久久久p站| 极品盗摄国产盗摄合集| 一区二区高清免费观看影视大全| 国产大片aaa| 欧美日韩亚洲网| 亚洲 国产 日韩 欧美| 欧美日韩亚洲综合在线| 国产理论视频在线观看| 精品日本一线二线三线不卡| 婷婷久久久久久| 亚洲色图五月天| 三区四区电影在线观看| 欧美另类极品videosbest最新版本| 电影k8一区二区三区久久| 97久久精品人人澡人人爽缅北| 伊人久久综合一区二区| 国产精品美腿一区在线看| 亚洲伦理久久| 国产一区精品视频| 精品国产一区二区三区四区| 日本xxxxx18| 亚洲人成免费| a在线观看免费视频| 国产精品888| 中文字幕丰满乱子伦无码专区| 国产精品久久久久一区二区三区共| 国产真实乱在线更新| 欧美日韩国内自拍| 一区二区视频网站| 精品国产百合女同互慰| 韩日视频在线| 欧美极品第一页| 成人黄色图片网站| 国产成人看片| 日韩av在线中文字幕| youjizz.com在线观看| 麻豆精品网站| 91成人在线观看喷潮蘑菇| 久久婷婷久久一区二区三区| 日韩精品一区二区三区在线视频| 国产视频一区二区三区在线观看| 人人妻人人藻人人爽欧美一区| 亚洲人吸女人奶水| 久草精品视频在线观看| 欧美日韩电影一区| 黄色美女一级片| 色偷偷88888欧美精品久久久| 成年网站在线视频网站| 国产精品91免费在线| 北条麻妃一区二区三区在线| 欧美二区在线看| 日韩电影在线视频| 日韩欧美国产免费| 激情五月激情综合网| www在线观看免费视频| 亚洲精品视频一区| 可以免费在线观看的av| 欧美大胆人体bbbb| 超碰免费在线| 欧美精品一区二区三区国产精品| 成人激情综合| 99在线热播| 国产精品久久久久久久免费观看 | 蜜桃传媒在线观看免费进入 | 清纯粉嫩极品夜夜嗨av| 欧洲一区二区三区在线| 日韩专区第一页| 久久久久久91香蕉国产| 在线免费成人| 日韩欧美一区二区视频在线播放 | 欧美国产日本高清在线 | 麻豆影视国产在线观看| 欧美一级bbbbb性bbbb喷潮片| 红杏成人性视频免费看| 国产精品99久久久久久大便| 可以免费看不卡的av网站| 国产精品无码一区二区三区免费| 一区二区三区加勒比av| 亚洲视频久久久| 中国人与牲禽动交精品| 女人让男人操自己视频在线观看| 国产精品毛片一区视频| 亚洲天天影视网| 潘金莲激情呻吟欲求不满视频| 欧美激情一区二区三区| 天天干天天干天天干天天| 亚洲国产高清福利视频| 女同一区二区免费aⅴ| 91美女福利视频高清| 91精品久久久久久久蜜月| www.这里只有精品| 国产精品欧美久久久久一区二区| 免费看毛片网站| 精品调教chinesegay| 中文字幕在线免费观看视频| 国产精品视频入口| 中文字幕一区二区av | 国产不卡视频在线观看| 久久网免费视频| 欧美成人r级一区二区三区| 黄色网页在线免费看| 91精品久久久久久蜜桃| 综合天堂久久久久久久| 怡红院一区二区| 亚洲成人免费在线| 亚洲av综合色区无码一区爱av| 欧美精品久久久久| 久久丝袜视频| 久章草在线视频| 亚洲国产激情av| 中文字幕精品无码亚| 日韩中文理论片| 国产精品美女久久久久| 人人妻人人澡人人爽欧美一区双 | 亚洲精品免费av| 欧美福利电影在线观看| 少妇精品无码一区二区三区| 亚州成人在线电影| 番号集在线观看| 国产一区二区在线免费视频| 欧美在线免费| 星空大象在线观看免费播放| 欧美日韩午夜激情| 91社区在线高清| 99re国产| 日韩av中文在线观看| 亚洲 欧美 国产 另类| 欧美军同video69gay| 超碰在线网站| 欧美在线视频一区二区三区| 激情深爱一区二区| 久久国产在线观看| 国产亚洲美女精品久久久| 亚洲欧美久久精品| 欧洲精品在线播放| 国产午夜精品一区二区三区嫩草 | 亚洲成人在线网| 美女福利一区二区| 日本成人性视频| 99国产精品久久久| 国产免费的av|