如何从com.datatax.river.core.PreparedStatement获取带值的查询



我使用的是datastax cassandra驱动程序。如何从com.datatax.river.core.PreparedStatement中获取具有值的查询?

toString()方法没有给出任何有意义的东西。我想在日志中打印确切的查询字符串。

我怎样才能做到这一点?

您可以使用getQueryString方法从PreparedStatement获取查询字符串,但无法获取绑定变量,因为它们将在BoundStatement而不是PreparedStatement上。

我不确定这是否是获取变量的最简单方法,但你可以这样做:

for (int index = 0; index < preparedStatement.getVariables().size(); index++) {
    log(boundStatement.getObject(index).toString());
}

您必须自己构造一个查询字符串,因为驱动程序将查询和绑定变量分开。

最新更新