我应该如何使用 java 的 datastax cassandra 驱动程序检查结果集是否为空或 null

How should I check if resultset is empty or null using datastax cassandra driver for java

我应该如何使用 datastax java cassandra 驱动程序检查空结果集?

假设我正在执行以下查询 "SELECT * FROM my_table WHERE mykey=something"

查询不匹配的可能性很大。以下代码不起作用:

if (rs != null) 
   rs.one().getString("some_column");

你很接近,正确的解决方案是:

Row r = rs.one();
if (r != null)
    r.getString("some_column");

驱动程序总是 return 个结果集,无论是否有任何 returned 结果。 one() 的文档指出,如果没有行 returned rs.one() returns null.

您还可以使用 getAvailableWithoutFetching(),其中 return 是结果集中的行数,而无需获取更多行。由于 pageSize 必须 >= 1,您可以放心,如果至少有 1 行,这将始终 return 大于 0 的值。

您还可以检查 rs.isExhausted() 的值以确定结果集中是否有其他数据...