Springboot整合Neo4j--- 通过neo4j-java-driver

我们是前后端分离的项目,前端使用的zoomchat 博主不写前端

第一步 添加依赖

    <dependency>
      <groupId>org.neo4j.driver</groupId>
      <artifactId>neo4j-java-driver</artifactId>
      <version>1.5.0</version>
    </dependency>

第二步 将数据源注入到Spring

	@Bean("neo4jDriver")
	public Driver session() {
		//neo4j的服务器的配置
		Neo4jSetting neo4jSetting = settingService.getNeo4jSetting();
		String url = neo4jSetting.getHost();
		String username = neo4jSetting.getUsername();
		String password = neo4jSetting.getPassword();

		//配置连接池大小
		Config config = Config.build().withEncryption()
				.withTrustStrategy(Config.TrustStrategy.trustAllCertificates())
				.withMaxConnectionPoolSize(32).toConfig();
		Driver driver= GraphDatabase.driver(url, AuthTokens.basic(username, password), config);
		return driver;
	}

 

第三步使用  

   @Autowired
    private Driver neo4jDriver;

 

        Session session = neo4jDriver.session();
        try{
            String stateMent = "match p=(c:Company)-[*]->(:Company) where c.id = \""+id+"\" return p";
            StatementResult result = session.run(stateMent);
            List<Record> recordList =  result.list();
            recordList.forEach(record -> {
                Iterator<Path.Segment> iterator = record.get("p").asPath().iterator();
                while (iterator.hasNext()) {
                    Path.Segment s = iterator.next();
                    Map<String, Object> snodeMap= new HashMap<>();
                    Map<String, Object> enodeMap= new HashMap<>();
                    Map<String, Object> relationshipMap = new HashMap<>();
                    Map sMap = s.start().asMap();
                    snodeMap.put(Neo4jUtil.NAME,sMap.get("NAME"));
                    Long sId = Long.parseLong(String.valueOf(sMap.get("id"))) ;
                    snodeMap.put(Neo4jUtil.ID,sId);
               }
            });
        }finally {
            session.close();
        }

如有疑问请在下方留言

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值