クラス MappingSqlQueryWithParameters<T>

型パラメーター:
T - 結果の型
実装されたすべてのインターフェース:
InitializingBean
既知の直属サブクラス
MappingSqlQuery

public abstract class MappingSqlQueryWithParameters<T> extends SqlQuery<T>
具象サブクラスが抽象 mapRow(ResultSet、int)メソッドを実装して JDBC ResultSet の各行をオブジェクトにマップする必要がある再利用可能な RDBMS クエリ。

そのような手動のマッピングは、通常、リフレクションを使用した「自動」マッピングよりも望ましいです。例: 現在のクラスでは、さまざまな行にさまざまなオブジェクトを使用できます(たとえば、サブクラスが指定されている場合)。計算フィールドを設定できます。また、ResultSet 列に Bean プロパティと同じ名前を付ける必要はありません。実際のパレートの原則: 抽出プロセスを自動化するためにさらに 1 マイル進むと、フレームワークがはるかに複雑になり、実際のメリットはほとんどなくなります。

SQL、パラメーター型、DataSource を提供するサブクラスを構築できます。SQL は多くの場合、サブクラスによって異なります。

作成者:
Rod Johnson, Thomas Risberg, Jean-Pierre Pawlak
関連事項:
  • コンストラクターの詳細

    • MappingSqlQueryWithParameters

      public MappingSqlQueryWithParameters()
      JavaBean として使用できるようにするコンストラクター。
    • MappingSqlQueryWithParameters

      public MappingSqlQueryWithParameters(DataSourceSE ds, StringSE sql)
      DataSource と SQL 文字列を持つ便利なコンストラクター。
      パラメーター:
      ds - 接続を取得するために使用する DataSource
      sql - 実行する SQL
  • メソッドの詳細

    • newRowMapper

      protected RowMapper<T> newRowMapper(@Nullable ObjectSE[] parameters, @Nullable MapSE<?,?> context)
      保護された抽象メソッドの実装。これにより、サブクラスの 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 - 取り組んでいる ResultSet
      rowNum - 行番号(0 から)
      parameters - クエリに(execute() メソッドに渡されます)。サブクラスがこれらに関心を持つことはほとんどありません。パラメーターがない場合は、null になります。
      context - execute() メソッドに渡されます。コンテキスト情報が必要ない場合は、null にすることができます。
      戻り値:
      結果型のオブジェクト
      例外:
      SQLExceptionSE - データの抽出中にエラーが発生した場合。サブクラスは SQLException を単純にキャッチできず、クリーンアップはフレームワークに依存しています。