jdbcTemplate.query
結果の戻り値をbyoffset
とでフィルタリングするJdbc標準の方法はありますlimit
か?
また、ResultSet
(上記のようにフィルタリングされたクエリによって返される)をList<Map<String,String>>
結果に変換する簡単な方法はありますか?List
行の値が格納されている行はどこMap
ですか?行名はマップキーであり、行値はマップ値です。
ResultSet
または、 ?から行を取得する標準的な方法があります。
JdbcTemplate#setMaxRows(int)を見てください
これにより、LIMIT/TOPが適用されます。
-
OFFSETがそれほど明確に定義されているとは思わないので、関連するSQLダイアレクトのSQLステートメントにそれを組み込む必要があるかもしれません。
-
JDBCドライバーによって返される行をフィルター処理し、場合によってはJavaユーザー定義オブジェクトタイプに組み込むには、ResultSetExtractorとRowMapperを確認してください。
ResultSetExtractorこれは、ResultSet#next()を使用してResultSetを反復処理するために使用されます。これにより、ビジネスロジックに基づいてフィルタリングおよびスキップできます。このメソッドは、RowMapperタイプを使用して、保持するデータの単一行を抽出する場合もあれば、抽出自体を行う場合もあります。
RowMapperこれは、単一の行を有効なものにするために使用されます。これは単なるリストである可能性があります。このメソッドはResultSet#getWhatever(int)を使用します。
次に、引数の1つとしてResultSetExtractorタイプをとるJdbcTemplateメソッドを確認します。これは、最初に良い例かもしれません。
http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html#query%28java.lang.String,%20java.lang.Object [] 、%20org.springframework.jdbc.core.ResultSetExtractor%29