クラス RowMapperResultSetExtractor<T>

java.lang.ObjectSE
org.springframework.jdbc.core.RowMapperResultSetExtractor<T>
型パラメーター:
T - 結果の要素型
実装されたすべてのインターフェース:
ResultSetExtractor<ListSE<T>>

public class RowMapperResultSetExtractor<T> extends ObjectSE implements ResultSetExtractor<ListSE<T>>
各行のオブジェクトを作成することになっている RowMapper に委譲する ResultSetExtractor インターフェースのアダプター実装。各オブジェクトは、この ResultSetExtractor の結果リストに追加されます。

データベーステーブルの行ごとに 1 つのオブジェクトの典型的なケースに役立ちます。結果リストのエントリの数は、行の数と一致します。

RowMapper オブジェクトは通常、ステートレスであり、再利用可能です。RowMapperResultSetExtractor アダプターのみがステートフルです。

JdbcTemplate の使用例:

JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);  // reusable object
 RowMapper rowMapper = new UserRowMapper();  // reusable object

 List allUsers = (List) jdbcTemplate.query(
     "select * from user",
     new RowMapperResultSetExtractor(rowMapper, 10));

 User user = (User) jdbcTemplate.queryForObject(
     "select * from user where id=?", new Object[] {id},
     new RowMapperResultSetExtractor(rowMapper, 1));

あるいは、jdbc.object パッケージから MappingSqlQuery をサブクラス化することを検討してください。JdbcTemplate および RowMapper オブジェクトを個別に操作する代わりに、実行可能なクエリオブジェクト(行マッピングロジックを含む)をそこに置くことができます。

導入:
1.0.2
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • RowMapperResultSetExtractor

      public RowMapperResultSetExtractor(RowMapper<T> rowMapper)
      新しい RowMapperResultSetExtractor を作成します。
      パラメーター:
      rowMapper - 各行のオブジェクトを作成する RowMapper
    • RowMapperResultSetExtractor

      public RowMapperResultSetExtractor(RowMapper<T> rowMapper, int rowsExpected)
      新しい RowMapperResultSetExtractor を作成します。
      パラメーター:
      rowMapper - 各行のオブジェクトを作成する RowMapper
      rowsExpected - 予想される行の数 (最適化されたコレクション処理に使用されます)
  • メソッドの詳細

    • extractData

      public ListSE<T> extractData(ResultSetSE rs) throws SQLExceptionSE
      インターフェースからコピーされた説明: ResultSetExtractor
      実装では、ResultSet 全体を処理するためにこのメソッドを実装する必要があります。
      次で指定:
      インターフェース ResultSetExtractor<T>extractData 
      パラメーター:
      rs - データを抽出する ResultSet 実装はこれを閉じるべきではありません。呼び出し JdbcTemplate によって閉じられます。
      戻り値:
      任意の結果オブジェクト、または存在しない場合は null (通常、後者の場合、抽出プログラムはステートフルになります)。
      例外:
      SQLExceptionSE - 列値の取得またはナビゲート中に SQLException が発生した場合 (つまり、SQLException をキャッチする必要はありません。)