如何从Bolt Driver获取GraphDatabaseService实例



我之前写过一些使用GraphDatabaseService的java Api访问嵌入式数据库的代码。但是现在我想将数据库切换到远程数据库,所以我必须使用DriverSession类来编写和运行密码。我不喜欢密码,我不想改变旧的代码。

所以我正在寻找一种方法,使我可以从Driver得到GraphDatabaseService,但没有找到。

我认为一种可能的方法是组成一个GraphDataBaseService委托,包装Driver并将Api调用转换为密码。这可行吗?是否已经有一些库可以做到这一点?

您不会得到GraphDatabaseService的直接等价物,因为那是嵌入式API。但是,您可以像这样运行Cypher查询:

var driver = GraphDatabase.driver(
"some://address",
AuthTokens.basic("username", "password")
);
// [...]
try (var session = driver.session() {
return session.writeTransaction(tx -> {
Result result = tx.run(
"CYPHER QUERY",
Map.of(/* query parameters */)
);
// do something with result
});
}
// [...]
driver.close(); // (driver is usually a singleton - closes when application shuts down)

我试图做一个项目来解决这个问题,通过包装驱动程序到GraphDatabaseService。

最新更新