2016-08-04 2 views
1

私はMySql結果セットに変換しようとしているカサンドラ再帰を持っています。ArrayList/Hashマップを結果セットに変換します

私はCassandraの結果セットをArraylistに変換しました。私は今、SQL結果セットに変換しようとしています。 ArraylistをSQL結果セットに変換できません。あるいは、私はCassandraの結果セットをHashmapに変換し、SQL結果セットに変換しようとしていました。しかしそれにも運がない。

上記のことが可能かどうか、または他の方法で教えてください。

+0

なぜそれが必要ですか?私は誰もがそれを好むと驚いています。 –

+0

私はMySQL Resulsetを使用して生成されたレポートを持っています。私は現在、Cassandraを使って同じレポートを生成しようとしています。だから、私は上記の変更をしようとしていた既存のコードに最小限の変更で。 – SnehaT

答えて

0

SQL ResultSetは巨大なインタフェースであり、多くのメソッドがあります。しかし、私はあなたが実際にあなたのレポートでそれらのいくつかを使用していると思います。だから、おそらくアダプタクラスを作成することができます。ここでは、未使用のメソッドはすべて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 
    } 

    ... 
} 
関連する問題