之前写过3.x版本的neo4j使用方法,最近又要用neo4j发现版本升级了好多,我使用的是4.4.5,5.x的都差不多,但是跟以前区别挺大
引入maven包,jdk本人使用的是17
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.neo4j.driver</groupId>
<artifactId>neo4j-java-driver</artifactId>
<version>5.6.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.1.19</version>
</dependency>
</dependencies>
配置文件
server.port=9004
spring.neo4j.uri=bolt://localhost:7687
spring.neo4j.authentication.username=neo4j
spring.neo4j.authentication.password=12345678
logging.level.org.springframework.data.neo4j=DEBUG
#spring.data.neo4j.database = my-database
基础类
package com.fy.entity;
import lombok.Data;
import org.springframework.data.neo4j.core.schema.GeneratedValue;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.Node;
import java.io.Serializable;
/**
* @ClassName CarEntity
* @author: maliang
* @Description 汽车
* @date 2023/3/30 13:32
* @Version 1.0版本
*/
@Data
@Node("car")
public class CarEntity implements Serializable {
@Id
@GeneratedValue
private Long id;
private String carName;
private String carType;
private String color;
}
package com.fy.entity;
import lombok.Data;
import org.springframework.data.neo4j.core.schema.GeneratedValue;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.Node;
import java.io.Serializable;
/**
* @ClassName NeoEntity
* @author: maliang
* @Description 通用类
* @date 2023/3/29 11:15
* @Version 1.0版本
*/
@Node("neo")
@Data
public class NeoEntity implements Serializable{
@Id
@GeneratedValue
private Long id;
private String name;
private String num;
private int age;
private String local;
}
package com.fy.entity;
import lombok.Data;
import org.springframework.data.neo4j.core.schema.GeneratedValue;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.Node;
import org.springframework.data.neo4j.core.schema.Relationship;
import java.io.Serializable;
import java.util.List;
import static org.springframework.data.neo4j.core.schema.Relationship.Direction.OUTGOING;
/**
* @ClassName Person
* @author: maliang
* @Description 人员
* @date 2023/3/30 13:28
* @Version 1.0版本
*/
@Data
@Node("person")
public class Person implements Serializable {
@Id
@GeneratedValue
private Long id;
private String name;
private String num;
private int age;
private String local;
/**
* 拥有的商品
*/
@Relationship("have")
private List<ProductEntity> productEntityList;
/**
* 亲戚
*/
@Relationship("kinsfolk")
private List<Person> kinsfolkShips;
/**
* 拥有的汽车
*/
@Relationship(type = "have", direction = OUTGOING)
private List<CarEntity> cars;
}
package com.fy.entity;
import lombok.Data;
import org.springframework.data.neo4j.core.schema.GeneratedValue;
import org.springframework.data.neo4j.core.schema.Id;
import org.springframework.data.neo4j.core.schema.Node;
import java.io.Serializable;
/**
* @ClassName ProductEntity
* @author: maliang
* @Description 商品
* @date 2023/3/30 13:29
* @Version 1.0版本
*/
@Node("product")
@Data
public class ProductEntity implements Serializable {
@Id
@GeneratedValue
private Long id;
private String productName;
private String param;
}
@Repository
public interface CarRespository extends Neo4jRepository<CarEntity, Long> {
}
@Repository
public interface NeoRepository extends Neo4jRepository<NeoEntity, Long> {
}
@Repository
public interface PersonRepository extends Neo4jRepository<

最低0.47元/天 解锁文章
838

被折叠的 条评论
为什么被折叠?



