我使用的是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());
}
您必须自己构造一个查询字符串,因为驱动程序将查询和绑定变量分开。