49

行マッパーと結果セット エクストラクタのコールバック インターフェイスの両方で作業しました。違いが見つかりました。つまり、

1.行マッパーは行ごとに処理できますが、結果セット抽出器はすべての行をナビゲートでき、戻り値の型はオブジェクトです。

上記以外に何か違いはありますか?.Rowmapperの内部と戻り値の型はどのように動作しますか?.

4

4 に答える 4

34

の JavaDocResultSetExtractor :

このインターフェースは、主に JDBC フレームワーク自体の中で使用されます。通常、RowMapper は ResultSet 処理のより単純な選択肢であり、ResultSet 全体に対して 1 つの結果オブジェクトではなく、行ごとに 1 つの結果オブジェクトをマッピングします。

ResultSetExtractorResultSet一度に行が供給される間、全体(おそらく複数の行)を抽出することを想定しRowMapperています。

ほとんどの場合、Spring のスニペットの例をResultSetExtractorループしResultSetて使用します。RowMapperRowMapperResultSetExtractor

List<T> results = (this.rowsExpected > 0 ? new ArrayList<T>(this.rowsExpected) : new ArrayList<T>());
int rowNum = 0;
while (rs.next()) {
    results.add(this.rowMapper.mapRow(rs, rowNum++));
}
return results;

すべての結果が変換されることに注意してください。これにより、メモリ不足の例外が発生する可能性があります。

こちらもご覧ください

于 2012-04-09T13:46:19.640 に答える