我正在尝试将Neo4j的JDBC驱动程序与嵌入式Neo4j一起使用。我已经复制了jar,配置了构建路径,编写了代码以创建GraphDatabaseService作为有限的指令。然而,我迷失了如何让JDBC指向嵌入式(并且正在运行的,有希望的)服务器。
我为JDBC指定的URL是" jdbc:neo4j:simulationDb?debug = true"。如何以及在何处为嵌入式服务器设置此项?
答案 0 :(得分:3)
如果您要连接到嵌入式数据库,那么您的JDBC网址需要如下所示:
jdbc:neo4j:file:/home/user/neo/graph.db
其中/home/user/neo/graph.db是Neo4j数据库的路径。
然后使用
获取java.sql.ConnectionConnection con = DriverManager.getConnection("jdbc:neo4j:file:/home/user/neo/graph.db");
嵌入式服务器没有嵌入您的应用程序(根据您提供的链接),或者Neo4j作为独立服务器运行的服务器模式。
如果您在服务器模式下运行,则您的JDBC URL看起来像jdbc:neo4j://localhost:7474/
(如果您的Neo4j服务器在localhost:7474上运行)并且您以相同的方式获得连接。
这里有一些使用JDBC驱动程序的示例代码https://github.com/luanne/flavorwocky-jdbc-migrate/blob/master/src/com/flavorwocky/migrate/MigrateDb.java
答案 1 :(得分:1)
实际上......我只是想通了。为了后人的缘故,我会在这里发布代码片段。
simulationDb = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(DB_PATH)
.loadPropertiesFromFile(CONFIG_PATH)
.newGraphDatabase();
registerShutdownHook(simulationDb);
Class.forName(JDBC_DRIVER);
Properties props = new Properties();
props.put("simulationDb", simulationDb);
db = DriverManager.getConnection(URL, props);