SQL ResultSet是一个巨大的接口,有很多种方法。但我想你只是在报告中使用其中的一些。所以你可以创建一个Adapter类,其中所有未使用的方法只是抛出一个UnsupportedOperationException异常,其他的方法委托给Cassandra ResultSet。类似这样的:
public CassandraResultSetAdapter implements java.sql.ResultSet {
private final Iterator<Row> delegate;
private Row currentRow;
public CassandraResultSetAdapter(ResultSet cassandraResultSet) {
this.delegate = cassandraResultSet.iterator();
}
@Override
public boolean next() {
if (delegate.hasNext()) {
return false;
}
else {
this.currentRow = delegate.next();
return true;
}
}
@Override
public String getString(String columnName) {
return currentRow.getString(columnName);
}
@Override
public String getString(String columnIndex) { // starts at 1
return currentRow.getString(columnIndex - 1); // starts at 0
}
...
}
为什么你需要那个?我很惊讶任何人都会喜欢这一点。 –
我有使用MySQL Resulset生成的报告。我正在尝试使用Cassandra生成相同的报告。因此,只需对现有代码进行最小限度的更改,我就可以尝试执行上述更改。 – SnehaT