Skip to Content
API 参考Java API查询结果

ResultSet

ResultSet 提供对查询结果的前向访问。

常用访问模式

try (Session session = driver.session()) { try (ResultSet rs = session.run("MATCH (n:Person) RETURN n.name AS name, n.age AS age")) { while (rs.next()) { String name = rs.getString("name"); long age = rs.getLong("age"); System.out.println(name + ", " + age); } } }

类型化 Getter

Java 驱动公开常见值类型的类型化访问器:

  • getString(...)
  • getInt(...)
  • getLong(...)
  • getBoolean(...)
  • getDate(...)
  • getTimestamp(...)
  • getObject(...)

按列索引访问

try (ResultSet rs = session.run("RETURN 1 AS value")) { if (rs.next()) { long value = rs.getLong(0); Object raw = rs.getObject(0); } }

NULL 处理

Object value = rs.getObject(0); boolean wasNull = rs.wasNull();

元数据

每个结果集都会公开列名和列类型的元数据:

ResultSetMetaData metaData = rs.getMetaData();

PROFILE 和 EXPLAIN

Java 驱动程序还通过以下方式公开 PROFILE 或 EXPLAIN 元数据:

  • getProfileMetrics()

getProfileMetrics

返回详细的 PROFILE 或 EXPLAIN 指标,以 Map<String, Object> 形式表示:

{ "total_elapsed_ms" -> Double, "total_output_rows" -> Long, "operators" -> List<Map<String, Object>> }

operators 中每个算子条目具有如下结构:

{ "operator_id" -> Long, "parent_id" -> Long, "operator_name" -> String, "elapsed_ms" -> Double, "output_rows" -> Long, "child_ids" -> List<Long> }

另请参阅:ResultSetMetaDataSession

Last updated on