main
HuangHai 2 months ago
parent 22c9dafc82
commit 3ee72b0961

@ -0,0 +1,30 @@
# Neo4J下载安装
https://blog.csdn.net/weixin_44455665/article/details/141463014
解压缩到D:\neo4j-community-5.26.2\bin
# 安装服务
cd D:\neo4j-community-5.26.2\bin
neo4j windows-service install
neo4j start
打开 conf/neo4j.conf 文件,修改以下配置:
# 允许远程连接
server.default_listen_address=0.0.0.0
# 访问
http://10.10.21.20:7474
neo4j
DsideaL4r5t6y7u
密码默认neo4j
# 停止服务
neo4j stop
neo4j windows-service uninstall
# 通过python操作neo4j
https://blog.csdn.net/sinat_20471177/article/details/134056788
# 提示词
生成小学数学的所有知识点和能力点我需要保存到cypher的脚本如果过多无法一次性输出就只输出两个年级或三个年级的我再追问后返回其余部分

@ -1,3 +0,0 @@
http://10.10.21.20:7474
neo4j
DsideaL4r5t6y7u

@ -1,4 +1,4 @@
package com.dsideal.Res;
package com.dsideal.Res.Neo4j.Controller;
import com.dsideal.Res.Plugin.Neo4jPlugin;
import com.jfinal.core.Controller;

@ -1,14 +1,14 @@
package com.dsideal.Res.Plugin;
import lombok.Getter;
import org.neo4j.driver.AuthTokens;
import org.neo4j.driver.Driver;
import org.neo4j.driver.GraphDatabase;
import org.neo4j.driver.Session;
import org.neo4j.driver.*;
import org.neo4j.driver.async.AsyncSession;
import org.neo4j.driver.Config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.TimeUnit;
@Getter
public class Neo4jPlugin {
private static Neo4jPlugin instance;
@ -26,11 +26,23 @@ public class Neo4jPlugin {
public void init(String uri, String user, String password) {
try {
driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password));
// 配置连接池
Config config = Config.builder()
.withMaxConnectionLifetime(30, TimeUnit.MINUTES) // 连接最大生命周期
.withMaxConnectionPoolSize(50) // 连接池最大连接数
.withConnectionAcquisitionTimeout(5, TimeUnit.SECONDS) // 获取连接超时时间
.withConnectionTimeout(5, TimeUnit.SECONDS) // 连接超时时间
.withMaxTransactionRetryTime(15, TimeUnit.SECONDS) // 事务重试最大时间
.withFetchSize(1000) // 每次查询的默认获取数量
.build();
// 创建带连接池配置的驱动实例
driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password), config);
// 验证连接
try (Session session = driver.session()) {
session.run("RETURN 1").consume();
logger.info("Neo4j连接成功");
logger.info("Neo4j连接池初始化成功");
}
} catch (Exception e) {
logger.error("Neo4j初始化失败: " + e.getMessage(), e);
@ -38,6 +50,23 @@ public class Neo4jPlugin {
}
}
public Session getSession() {
if (driver == null) {
throw new IllegalStateException("Neo4j驱动未初始化");
}
return driver.session(SessionConfig.builder()
.withDefaultAccessMode(AccessMode.WRITE) // 默认访问模式
.withDatabase("neo4j") // 指定数据库名称
.build());
}
public AsyncSession getAsyncSession() {
if (driver == null) {
throw new IllegalStateException("Neo4j驱动未初始化");
}
return driver.session(AsyncSession.class);
}
public void close() {
if (driver != null) {
driver.close();

@ -6,6 +6,7 @@ import com.dsideal.Res.Base.Controller.BaseController;
import com.dsideal.Res.Index.IndexController;
import com.dsideal.Res.Interceptor.*;
import com.dsideal.Res.Model._MappingKit;
import com.dsideal.Res.Neo4j.Controller.Neo4jDemoController;
import com.dsideal.Res.Plugin.Neo4jPlugin;
import com.dsideal.Res.Res.Controller.ResourceController;
import com.dsideal.Res.Util.LogBackLogFactory;
@ -50,8 +51,7 @@ public class ResApplication extends JFinalConfig {
me.add("/base", BaseController.class);
//资源管理
me.add("/res", ResourceController.class);
//Neo4j配置
//Neo4j测试
me.add("/neo4j", Neo4jDemoController.class);
}

Loading…
Cancel
Save