如何使用DataStax Cassandra驱动程序在Java中检查结果集是否为空或null

13

如何使用DataStax Java Cassandra驱动程序检查空结果集?

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

有很大的机会查询不匹配。以下代码不起作用:

if (rs != null) 
   rs.one().getString("some_column");
2个回答

20

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

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

无论是否有返回结果,驱动程序都将始终返回一个结果集。 one() 的文档说明如果没有返回行,则rs.one()返回null。

您还可以使用getAvailableWithoutFetching(),它返回结果集中未获取的行数。 由于pageSize必须>=1,因此如果至少有1行,则可以确保这将始终返回大于0的值。


1
为什么这比使用 rs.isExhausted 更好? - Martin Schröder

2

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

(该内容涉及IT技术)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接