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

dtr*_*nas 11 java cassandra datastax

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

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

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

if (rs != null) 
   rs.one().getString("some_column");
Run Code Online (Sandbox Code Playgroud)

And*_*ert 18

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

Row r = rs.one();
if (r != null)
    r.getString("some_column");
Run Code Online (Sandbox Code Playgroud)

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

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