クラス MappingSqlQueryWithParameters<T>
java.lang.ObjectSE
org.springframework.jdbc.object.RdbmsOperation
org.springframework.jdbc.object.SqlOperation
org.springframework.jdbc.object.SqlQuery<T>
org.springframework.jdbc.object.MappingSqlQueryWithParameters<T>
- 型パラメーター:
T
- 結果の型
- 実装されたすべてのインターフェース:
InitializingBean
- 既知の直属サブクラス
MappingSqlQuery
再利用可能な RDBMS クエリでは、具象サブクラスが抽象 mapRow(ResultSet, int) メソッドを実装して、JDBC ResultSet の各行をオブジェクトにマップする必要があります。
そのような手動のマッピングは、通常、リフレクションを使用した「自動」マッピングよりも望ましいです。例: 現在のクラスでは、さまざまな行にさまざまなオブジェクトを使用できます(たとえば、サブクラスが指定されている場合)。計算フィールドを設定できます。また、ResultSet 列に Bean プロパティと同じ名前を付ける必要はありません。実際のパレートの原則: 抽出プロセスを自動化するためにさらに 1 マイル進むと、フレームワークがはるかに複雑になり、実際のメリットはほとんどなくなります。
SQL、パラメーター型、DataSource を提供するサブクラスを構築できます。SQL は多くの場合、サブクラスによって異なります。
- 作成者:
- Rod Johnson, Thomas Risberg, Jean-Pierre Pawlak
- 関連事項:
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明protected class
各行に対して包含クラスのmapRow
メソッドを呼び出す RowMapper の実装。フィールドのサマリー
クラス org.springframework.jdbc.object.RdbmsOperation から継承されたフィールド
logger
コンストラクターの概要
コンストラクターコンストラクター説明JavaBean として使用できるようにするコンストラクター。DataSource と SQL 文字列を持つ便利なコンストラクター。メソッドのサマリー
修飾子と型メソッド説明protected abstract T
mapRow
(ResultSetSE rs, int rowNum, ObjectSE[] parameters, MapSE<?, ?> context) サブクラスはこのメソッドを実装して、ResultSet の各行を結果型のオブジェクトに変換する必要があります。newRowMapper
(ObjectSE[] parameters, MapSE<?, ?> context) 保護された抽象メソッドの実装。クラス org.springframework.jdbc.object.SqlQuery から継承されたメソッド
execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, execute, executeByNamedParam, executeByNamedParam, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObject, findObjectByNamedParam, findObjectByNamedParam, getRowsExpected, setRowsExpected
クラス org.springframework.jdbc.object.SqlOperation から継承されたメソッド
compileInternal, getParsedSql, newPreparedStatementCreator, newPreparedStatementCreator, newPreparedStatementSetter, onCompileInternal
クラス org.springframework.jdbc.object.RdbmsOperation から継承されたメソッド
afterPropertiesSet, allowsUnusedParameters, checkCompiled, compile, declareParameter, getDeclaredParameters, getGeneratedKeysColumnNames, getJdbcTemplate, getResultSetType, getSql, isCompiled, isReturnGeneratedKeys, isUpdatableResults, resolveSql, setDataSource, setFetchSize, setGeneratedKeysColumnNames, setJdbcTemplate, setMaxRows, setParameters, setQueryTimeout, setResultSetType, setReturnGeneratedKeys, setSql, setTypes, setUpdatableResults, supportsLobParameters, validateNamedParameters, validateParameters
コンストラクターの詳細
MappingSqlQueryWithParameters
public MappingSqlQueryWithParameters()JavaBean として使用できるようにするコンストラクター。MappingSqlQueryWithParameters
DataSource と SQL 文字列を持つ便利なコンストラクター。- パラメーター:
ds
- 接続を取得するために使用する DataSourcesql
- 実行する SQL
メソッドの詳細
newRowMapper
保護された抽象メソッドの実装。これにより、サブクラスの mapRow() メソッドの実装が呼び出されます。- 次で指定:
- クラス
SqlQuery<T>
のnewRowMapper
- パラメーター:
parameters
- サブクラスに関心がある場合のexecute()
メソッドのパラメーター。パラメーターがなかった場合は、null
になる場合があります。context
-mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。- 関連事項:
mapRow
@Nullable protected abstract T mapRow(ResultSetSE rs, int rowNum, @Nullable ObjectSE[] parameters, @Nullable MapSE<?, ?> context) throws SQLExceptionSEサブクラスはこのメソッドを実装して、ResultSet の各行を結果型のオブジェクトに変換する必要があります。- パラメーター:
rs
- 取り組んでいる ResultSetrowNum
- 行番号(0 から)parameters
- クエリに(execute() メソッドに渡されます)。サブクラスがこれらに関心を持つことはほとんどありません。パラメーターがない場合は、null
になります。context
- execute() メソッドに渡されます。コンテキスト情報が必要ない場合は、null
にすることができます。- 戻り値:
- 結果型のオブジェクト
- 例外:
SQLExceptionSE
- データの抽出中にエラーが発生した場合。サブクラスは SQLException を単純にキャッチできず、クリーンアップはフレームワークに依存しています。