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, setRowsExpectedcompileInternal, getParsedSql, newPreparedStatementCreator, newPreparedStatementCreator, newPreparedStatementSetter, onCompileInternalafterPropertiesSet, 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, validateParameterscloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic 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 を単純にキャッチできず、クリーンアップはフレームワークに依存しています。