微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有neo4j jdbc驱动程序和neo4j 4的预准备语句中cypher查询中参数的语法是什么?

如何解决带有neo4j jdbc驱动程序和neo4j 4的预准备语句中cypher查询中参数的语法是什么?

据我所知,neo4j 4.x 现在不支持这种语法的参数 - {1},现在支持 $param。执行 PreparedStatement 的语法也发生了变化。我的意思是 - 当我尝试使用新的 jdbc 驱动程序 4.0.1 和 neo4j 4.2.3 执行查询时:

  String query = "MATCH (u:User)-[:FRIEND]-(f:User) WHERE u.name = {1} RETURN f.name,f.age";
    try (PreparedStatement stmt = con.prepareStatement(query)) {
        stmt.setString(1,"John");

        try (ResultSet rs = stmt.executeQuery()) {
            while (rs.next()) {
                System.out.println("Friend: "+rs.getString("f.name")+" is "+rs.getInt("f.age"));
            }
        }
    }

我收到此错误 - ParameterIndex 与 sql 语句中的参数标记不对应

因此,在使用较新版本的 neo4j 4.2.3 和 jdbc 驱动程序 4.0.1 的预准备语句查询中 {1} 的语法仍然有效还是需要进行任何更改?如果不是这样,那么您还可以建议这里可能是什么错误。 提前致谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。