0

neo4j-jdbc jar を使用してリモートで cypher ステートメントを実行したい。

以下のサイファーを実行すると、neo4j Web コンソールで 25 行の結果セットが得られます。

 MATCH (n:USER) RETURN n LIMIT 25

neo4j-jdbc をリモートで使用して同じプログラムを実行すると、0 の結果が得られます。

 public static void main(String[] args) throws Exception {
     Neo4jConnection connect = (Neo4jConnection) DriverManager.getConnection("jdbc:neo4j://localhost:7474","neo4j","Neo4J");
     final PreparedStatement statement = connect.prepareStatement("MATCH (n:USER) RETURN n LIMIT 25");
     final ResultSet result = statement.executeQuery();

     System.out.println(result.getFetchSize());
     result.close();
     statement.close();
     connect.close();
}

サイズをゼロとして印刷しています。

正確には何が間違いなのかわかりません。

4

1 に答える 1

0

ResultSet.getFetchSizeクエリから返された行数を返すとは思わない。代わりに、データベースへの各ラウンドトリップで返される行数に関連していると思います。

クエリの結果を確認するには、result各行を反復して出力してみてください。

ResultSet result = statement.executeQuery();
while (result.next()) { 
    System.out.println(result.getString("n"));
}
于 2016-02-01T19:12:48.133 に答える