我应该如何使用java的datastax cassandra驱动程序检查resultset是空还是null

时间:2015-04-06 12:49:40

标签: java cassandra datastax

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

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

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

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

2 个答案:

答案 0 :(得分:16)

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

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

无论是否有任何返回的结果,驱动程序将始终返回结果集。 one()的文档指出,如果没有返回任何行,则rs.one()将返回null。

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

答案 1 :(得分:2)

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