网站首页 > 博客文章 正文
最近有个需求是要使用neo4j这个数据库,看官方的介绍是个图形数据库,官方没有看到和springboot整合的文档(可能是我没找着),那就自己动手吧,找了好久网上的neo4j的资料很少,好多都是过时了的,大家互相抄,跟着那些没有经过验证的文章让我踩了不少坑。折腾了好久皇天不负有心人终于成功了,那我就把整合的过程记录下来,方便遇到同样问题的小伙伴查看,下面正式开始:
在浏览器访问http://安装neo4j机器的IP:7474,会出现下面的页面,默认用户名密码是neo4j
至此,neo4j就算是启动成功了,下面我们开始在idea中建立springboot工程,增加下面的maven依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-neo4j</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.neo4j</groupId>
<artifactId>neo4j-ogm-http-driver</artifactId>
</dependency>
</dependencies>
在启动类中开启对neo4j的支持:
@SpringBootApplication
public class Neo4jdemoApplication {
public static void main(String[] args) {
SpringApplication.run(Neo4jdemoApplication.class, args);
}
}
application.properties配置文件:
spring.data.neo4j.uri=http://192.168.2.101:7474
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=123456
增加配置类(网上的好多人说不需要配置类,其实会报sessionFactory空指针异常):
@Configuration
@EnableNeo4jRepositories("com.example.neo4jdemo.dao") // 声明neo4j repository存放地址
public class Neo4jConfig {
@Value("${spring.data.neo4j.uri}")
private String uri;
@Value("${spring.data.neo4j.username}")
private String userName;
@Value("${spring.data.neo4j.password}")
private String password;
@Bean
public org.neo4j.ogm.config.Configuration getConfiguration() {
org.neo4j.ogm.config.Configuration configuration = new org.neo4j.ogm.config.Configuration.Builder()
.uri(uri).connectionPoolSize(100)
.credentials(userName, password)
.withBasePackages("com.example.neo4jdemo.dao")
.build();
return configuration;
}
@Bean
public SessionFactory sessionFactory() {
return new SessionFactory(getConfiguration());
}
@Bean("neo4jTransaction")
public Neo4jTransactionManager neo4jTransactionManager(SessionFactory sessionFactory) {
return new Neo4jTransactionManager(sessionFactory);
}
}
service类:
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public List<UserEntity> getUser(){
return userRepository.getUserNodeList();
}
@Transactional
public void addUser(UserEntity userEntity){
userRepository.save(userEntity);
}
}
Dao接口:
@Repository
public interface UserRepository extends Neo4jRepository<UserEntity,Long> {
}
现在就可以启动啦,看看效果:
下面我们写个接口测试一下看:
@RestController
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/addUser")
public String addUserNode(){
UserEntity userEntity = new UserEntity();
userEntity.setName("张三");
userEntity.setAge(20);
userService.addUser(userEntity);
return "success";
}
}
接口请求成功,我们看看数据库的情况
很明显"张三"这个节点已经成功保存了,neo4j和springboot的整合就完成了
完整demo地址:https://gitee.com/vic_miao/neo4jdemo.git
猜你喜欢
- 2024-11-24 Neo4J图数据库反欺诈分析实战(二) - 准备数据
- 2024-11-24 Springboot 2.x 使用bolt驱动集成neo4j
- 2024-11-24 从运维的角度带你初识neo4j图形数据库的安装及配置
- 2024-11-24 图形数据库Neo4j常见问题
- 2024-11-24 SpringBoot中文参考指南(2.1.6)32.3、Neo4j
- 2024-11-24 Neo4j 3.0.0 正式发布,支持容器和云部署
- 2024-11-24 SpringBoot2.x教程——NoSQL之安装配置Neo4j数据库
- 2024-11-24 你知道Neo4j这是什么数据库吗?有什么用呢?
- 2024-11-24 neo4j基本介绍
- 2024-11-24 Neo4j 因果集群路由策略详解及驱动访问
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)