我有一个Cassandra结果集,我试图将其转换为MySql结果集。
我已将Cassandra结果集转换为Arraylist。我现在正在尝试将其转换为SQL结果集。我无法将Arraylist转换为SQL结果集。或者,我试图将Cassandra结果集转换为Hashmap,然后转换为SQL结果集。但也没有运气。
如果上述事情是可能的,请告诉我。或者他们是否有任何其他方法。
答案 0 :(得分:0)
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
}
...
}