T
- 結果の型 public abstract class MappingSqlQueryWithParameters<T> extends SqlQuery<T>
そのような手動のマッピングは、通常、リフレクションを使用した「自動」マッピングよりも望ましいです。例: 現在のクラスでは、さまざまな行にさまざまなオブジェクトを使用できます(たとえば、サブクラスが指定されている場合)。計算フィールドを設定できます。また、ResultSet 列に Bean プロパティと同じ名前を付ける必要はありません。実際のパレートの原則: 抽出プロセスを自動化するためにさらに 1 マイル進むと、フレームワークがはるかに複雑になり、実際のメリットはほとんどなくなります。
SQL、パラメーター型、DataSource を提供するサブクラスを構築できます。SQL は多くの場合、サブクラスによって異なります。
MappingSqlQuery
, SqlQuery
修飾子と型 | クラスと説明 |
---|---|
protected class | MappingSqlQueryWithParameters.RowMapperImpl 各行に対して包含クラスの mapRow メソッドを呼び出す RowMapper の実装。 |
logger
コンストラクターと説明 |
---|
MappingSqlQueryWithParameters() JavaBean として使用できるようにするコンストラクター。 |
MappingSqlQueryWithParameters(DataSourceSE ds, StringSE sql) DataSource と SQL 文字列を持つ便利なコンストラクター。 |
修飾子と型 | メソッドと説明 |
---|---|
protected abstract T | mapRow(ResultSetSE rs, int rowNum, ObjectSE[] parameters, MapSE<?,?> context) サブクラスはこのメソッドを実装して、ResultSet の各行を結果型のオブジェクトに変換する必要があります。 |
protected RowMapper<T> | newRowMapper(ObjectSE[] parameters, MapSE<?,?> context) 保護された抽象メソッドの実装。 |
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
compileInternal, getParsedSql, newPreparedStatementCreator, newPreparedStatementCreator, newPreparedStatementSetter, onCompileInternal
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
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public MappingSqlQueryWithParameters()
public MappingSqlQueryWithParameters(DataSourceSE ds, StringSE sql)
ds
- 接続を取得するために使用する DataSourcesql
- 実行する SQLprotected RowMapper<T> newRowMapper(@Nullable ObjectSE[] parameters, @Nullable MapSE<?,?> context)
SqlQuery<T>
の newRowMapper
parameters
- サブクラスに関心がある場合の execute()
メソッドのパラメーター。パラメーターがなかった場合は、null
になる場合があります。context
- mapRow
コールバックメソッドに渡されるコンテキスト情報。JDBC 操作自体はこのパラメーターに依存しませんが、結果リストのオブジェクトを作成できます。SqlQuery.execute(java.lang.Object[], java.util.Map<?, ?>)
@Nullable protected abstract T mapRow(ResultSetSE rs, int rowNum, @Nullable ObjectSE[] parameters, @Nullable MapSE<?,?> context) throws SQLExceptionSE
rs
- 取り組んでいる ResultSetrowNum
- 行番号(0 から)parameters
- クエリに(execute() メソッドに渡されます)。サブクラスがこれらに関心を持つことはほとんどありません。パラメーターがない場合は、null
になります。context
- execute() メソッドに渡されます。コンテキスト情報が必要ない場合は、null
にすることができます。SQLExceptionSE
- データの抽出中にエラーが発生した場合。サブクラスは SQLException を単純にキャッチできず、クリーンアップはフレームワークに依存しています。