Neo4j的安装以及和java的连接

南楼画角 提交于 2019-12-21 11:59:28

Neo4J的安装配置以及java连接

Neo4j是一个高性能的,NoSQL图形数据库,在一个图中包含两种基本的数据类型:Nodes(节点) 和 Relationships(关系)。Nodes 和 Relationships 包含key/value形式的属性。Nodes通过Relationships所定义的关系相连起来,形成关系型网络结构。

相比其他NoSQL数据库,Neo4j的特点在于可以建立关系,达到数据关联的目的。从某些方面来说,我觉得它甚至可以取代关系型数据库,而且不需要事先定义表结构,字段扩展非常方便。

安装、配置、启动Neo4j

官网下载地址:https://neo4j.com/download-center/#community
myimg1
1、选择社区版——>选择windows下的zip安装包——>解压
2、保证自己已经安装JDK8
3、以管理员身份启动CMD,切换路径到解压后目录下的bin内,验证neo4j的安装和环境变量配置是否成功:

neo4j.bat console

4、注册neo4j服务:

neo4j install-service

5、开启neo4j服务

neo4j start

关闭 重启:

neo4j stop
neo4j restart

6、输入:http://localhost:7474/browser,访问
在这里插入图片描述
默认的初始密码是neo4j,第一次登陆时需要修改密码

java连接

1、SpringBoot JPA连接方式

maven依赖:

<dependency>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-data-neo4j</artifactId>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-orm</artifactId>
		<version>5.0.8.RELEASE</version>
	</dependency>

配置文件:

public class Neo4jConfig {
    @Bean
    public SessionFactory sessionFactory() {
        return new SessionFactory(configuration(), "指定包");
    }
 
    @Bean  //定义配置信息、连接池等等。。。
    public org.neo4j.ogm.config.Configuration configuration() {
        org.neo4j.ogm.config.Configuration configuration = new org.neo4j.ogm.config.Configuration.Builder()
                .uri("bolt://ip地址:端口") //默认为bolt://localhost:7687
                .credentials("账户", "密码") //neo4j默认账户密码为neo4j,neo4j
                .build();
        return configuration;
    }
 
    @Bean
    public Neo4jTransactionManager transactionManager() {
        return new Neo4jTransactionManager(sessionFactory());
	}
}

之后就可以在对应的接口通过JPA命名规则实现方法或是通过@Query自定义cql查询方法

2、服务器式数据库连接

依赖包:

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

测试代码:

Driver driver = GraphDatabase.driver( "bolt://localhost:7687", AuthTokens.basic( "neo4j", "" ) );
Session session = driver.session();
//添加一个person节点
session.run( "CREATE (a:Person {name: {name}, title: {title}})",
        parameters( "name", "NAME1", "title", "TITLE1" ) );
//搜索name为NAME1的person节点
StatementResult result = session.run( "MATCH (a:Person) WHERE a.name = {name} " +
                                      "RETURN a.name AS name, a.title AS title",
        parameters( "name", "NAME1" ) );
//遍历输出
while ( result.hasNext() )
{
    Record record = result.next();
    System.out.println( record.get( "title" ).asString() + " " + record.get( "name" ).asString() );
}
session.close();
driver.close();
3、嵌入式开发
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!