0

jdbcTemplate.query結果の戻り値をbyoffsetとでフィルタリングするJdbc標準の方法はありますlimitか?

また、ResultSet(上記のようにフィルタリングされたクエリによって返される)をList<Map<String,String>>結果に変換する簡単な方法はありますか?List行の値が格納されている行はどこMapですか?行名はマップキーであり、行値はマップ値です。

ResultSetまたは、 ?から行を取得する標準的な方法があります。

4

1 に答える 1

0

JdbcTemplate#setMaxRows(int)を見てください

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html#setMaxRows%28int%29

これにより、LIMIT/TOPが適用されます。

-

OFFSETがそれほど明確に定義されているとは思わないので、関連するSQLダイアレクトのSQLステートメントにそれを組み込む必要があるかもしれません。

-

JDBCドライバーによって返される行をフィルター処理し、場合によってはJavaユーザー定義オブジェクトタイプに組み込むには、ResultSetExtractorとRowMapperを確認してください。

ResultSetExtractorこれは、ResultSet#next()を使用してResultSetを反復処理するために使用されます。これにより、ビジネスロジックに基づいてフィルタリングおよびスキップできます。このメソッドは、RowMapperタイプを使用して、保持するデータの単一行を抽出する場合もあれば、抽出自体を行う場合もあります。

http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/jdbc/core/ResultSetExtractor.html

RowMapperこれは、単一の行を有効なものにするために使用されます。これは単なるリストである可能性があります。このメソッドはResultSet#getWhatever(int)を使用します。

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/jdbc/core/RowMapper.html

次に、引数の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

于 2012-09-19T07:13:16.920 に答える