neo4j和Java
Neo4j提供JAVA API以编程方式执行所有数据库操作。
它支持两种类型的API:
- Neo4j的原生的Java API
- Neo4j Cypher Java API
Neo4j原生Java API是一种低级别的纯JAVA API,用于执行数据库操作。 Neo4j Cypher Java API是简单而强大的JAVA API,用于执行所有CQL命令以执行数据库操作。
https://www.w3cschool.cn/neo4j/neo4j_java_environment_setup.html
原生Java API
https://www.w3cschool.cn/neo4j/neo4j_native_java_api_example.html
Cypher - API示例
https://www.w3cschool.cn/neo4j/neo4j_cypher_api_example.html
目前还没有涉及Java这一块,有待于后续的复习笔记补充
Spring DATA Neo4J - 简介
Spring是开源框架,很容易开发基于企业Java的应用程序。 它用Java语言编写。
Spring Framework提供了以下模块来处理基于Java的应用程序的DAO层
-
Spring JDBC
-
Spring ORM
-
Spring DATA
Spring数据模块的优点:
-
消除DAO层中的boiler plate代码
-
DAO层中的工件少
-
易于开发和维护
-
改进开发过程
Spring数据模块功能:
-
支持基于XML的实体映射
-
支持基于注释的实体映射
-
支持分页
-
支持事务
-
更少的DAO层工件 - 实现存储库
Spring DATA Neo4j模块具有与上述相同的优点和特点。
Spring DATA Neo4j模块
-
关系数据库(Oracle,MySQL等等)
没有SQL数据库(MongoDB,Redis,Apache Cassandra等)
无SQL图形数据库(Neo4j等)
Spring DATA Neo4j存储库
它提供了不同的API来支持不同的场景
- GraphRepository
- GraphTemplate
- CrudRepository
- PaginationAndSortingRepository
Neo4j驱动程序
当我们使用Spring DATA Neo4j模块API来执行一些数据库操作时,Spring DATA Neo4j Jars在内部使用这些驱动程序Jars来交互和执行Neo4j数据库操作。
Neo4j图数据库
如何在Eclipse IDE中设置Maven Java项目,以使用Spring DATA Neo4j模块开发Spring Framework应用程序。
第1步 - 在Eclipse IDE中创建Maven项目第2步-在Eclipse IDE中打开pom.xml文件,并添加以下主要依赖关系
Spring DATA Neo4j模块Jar文件
<dependency> <groupId> org.springframework.data </groupId> <artifactId> spring-data-neo4j </artifactId> <version> 3.1.2.RELEASE </version> </dependency>
Neo4j Jar文件,由Spring DATA Neo4j模块Jar文件内部使用
<dependency> <groupId> org.neo4j </groupId> <artifactId> neo4j-kernel </artifactId> <version> 2.1.3 </version> </dependency>
Java事务API jar文件,由Spring DATA Neo4j模块Jar文件内部使用
<dependency> <groupId> javax.transaction </groupId> <artifactId> jta </artifactId> <version> 1.1 </version> </dependency>
Java验证API jar文件,由Spring DATA Neo4j模块Jar文件内部使用
<dependency> <groupId> javax.validation </groupId> <artifactId> validation-api </artifactId> <version> 1.0.0.GA </version> </dependency>
第3步-完成pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion> 4.0.0 </modelVersion> <groupId> com.tp.neo4j </groupId> <artifactId> springdata-neo4j </artifactId> <version> 1.0 </version> <dependencies> <dependency> <groupId> org.springframework.data </groupId> <artifactId> spring-data-neo4j </artifactId> <version> 3.1.2.RELEASE </version> </dependency> <dependency> <groupId> org.neo4j </groupId> <artifactId> neo4j-kernel </artifactId> <version> 2.1.3 </version> </dependency> <dependency> <groupId> javax.transaction </groupId> <artifactId> jta </artifactId> <version> 1.1 </version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> </dependency> </dependencies> </project>
最后是一个援引的实例
https://www.w3cschool.cn/neo4j/neo4j_spring_data_example.html
内容很多很复杂,需要慢慢研究
package com.tp.springdata.neo4j.domain; import org.springframework.data.neo4j.annotation.GraphId; import org.springframework.data.neo4j.annotation.NodeEntity; @NodeEntity public class GoogleProfile { @GraphId private Long id; private String name; private String address; private String sex; private String dob; // Getter for id // Setters and Getters for rest of properties // implement equals() and hashCode() methods }