クラス NamedParameterJdbcTemplate

java.lang.ObjectSE
org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate
実装されたすべてのインターフェース:
NamedParameterJdbcOperations

public class NamedParameterJdbcTemplate extends ObjectSE implements NamedParameterJdbcOperations
JDBC 操作の基本セットを備えたテンプレートクラス。従来の "?" プレースホルダーではなく名前付きパラメーターを使用できます。

このクラスは、名前付きパラメーターから JDBC スタイル "?" への置換が完了すると、ラップされた JdbcTemplate に委譲します。プレースホルダーは実行時に行われます。また、値の ListSE を適切な数のプレースホルダーに拡張できます。

このテンプレートクラスのインスタンスは、一度設定されるとスレッドセーフになります。基盤となる JdbcTemplate は、従来の JdbcTemplate メソッドに簡単にアクセスできるように公開されています。

注: 6.1 では、JdbcClient の形式で利用可能な統合 JDBC アクセスファサードがありますJdbcClient は、インデックス付きパラメーターまたは名前付きパラメーターを柔軟に使用して、一般的な JDBC クエリ / 更新に流れるような API スタイルを提供します。実際の実行は JdbcTemplate/NamedParameterJdbcTemplate に委譲されます。

導入:
2.0
作成者:
Thomas Risberg, Juergen Hoeller
関連事項:
  • フィールドサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    このテンプレートの SQL キャッシュのエントリのデフォルトの最大数: 256。
  • コンストラクターのサマリー

    コンストラクター
    コンストラクター
    説明
    指定された DataSourceSE の新しい NamedParameterJdbcTemplate を作成します。
    指定されたクラシック Spring JdbcTemplate の新しい NamedParameterJdbcTemplate を作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    int[]
    batchUpdate(StringSE sql, MapSE<StringSE,?>[] batchValues)
    提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。
    int[]
    提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。
    int[]
    batchUpdate(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder)
    指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。
    int[]
    batchUpdate(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder, StringSE[] keyColumnNames)
    指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。
    <T> T
    JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。
    <T> T
    JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。
    <T> T
    JDBC PreparedStatement で動作するコールバックアクションとして実装される JDBC データアクセス操作を実行します。
    int
    このテンプレートの SQL キャッシュのエントリの最大数を返します。
    あまり一般的ではないメソッドの呼び出しを可能にするために、典型的な Spring JdbcTemplate 操作を公開します。
    特に他の JdbcTemplate コンシューマーに渡すために、可能であればクラシック Spring JdbcTemplate 自体を公開します。
    protected ParsedSql
    指定された SQL ステートメントの解析された表現を取得します。
    指定された SQL および名前付きパラメーターに基づいて PreparedStatementCreator を作成します。
    指定された SQL および名前付きパラメーターに基づいて PreparedStatementCreator を作成します。
    指定された SQL および名前付きパラメーターに基づいて PreparedStatementCreatorFactory を作成します。
    <T> T
    query(StringSE sql, MapSE<StringSE,?> paramMap, ResultSetExtractor<T> rse)
    指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。
    void
    指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。
    <T> ListSE<T>
    query(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper)
    指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。
    <T> T
    指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。
    void
    指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。
    <T> ListSE<T>
    query(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)
    指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。
    <T> T
    指定された SQL を照会して、ResultSet を ResultSetExtractor で読み取り、SQL から準備済みステートメントを作成します。
    void
    指定された SQL を照会して、RowCallbackHandler を使用して行ごとに ResultSet を読み取り、SQL から準備済みステートメントを作成します。
    <T> ListSE<T>
    query(StringSE sql, RowMapper<T> rowMapper)
    指定された SQL を照会して、SQL から準備済みステートメントを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。
    指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。
    <T> ListSE<T>
    queryForList(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> elementType)
    指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。
    指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。
    <T> ListSE<T>
    queryForList(StringSE sql, SqlParameterSource paramSource, ClassSE<T> elementType)
    指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。
    指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。
    指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。
    <T> T
    queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> requiredType)
    指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。
    <T> T
    queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper)
    指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。
    <T> T
    queryForObject(StringSE sql, SqlParameterSource paramSource, ClassSE<T> requiredType)
    指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。
    <T> T
    queryForObject(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)
    指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。
    指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。
    指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。
    <T> StreamSE<T>
    queryForStream(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper)
    指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。
    <T> StreamSE<T>
    queryForStream(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper)
    指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。
    void
    setCacheLimit(int cacheLimit)
    このテンプレートの SQL キャッシュのエントリの最大数を指定します。
    int
    update(StringSE sql, MapSE<StringSE,?> paramMap)
    準備されたステートメントを介して更新を発行し、指定された引数をバインドします。
    int
    準備されたステートメントを介して更新を発行し、指定された引数をバインドします。
    int
    update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder)
    準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。
    int
    update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, StringSE[] keyColumnNames)
    準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。

    クラス java.lang.ObjectSE から継承されたメソッド

    clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
  • フィールドの詳細

    • DEFAULT_CACHE_LIMIT

      public static final int DEFAULT_CACHE_LIMIT
      このテンプレートの SQL キャッシュのエントリのデフォルトの最大数: 256。
      関連事項:
  • コンストラクターの詳細

    • NamedParameterJdbcTemplate

      public NamedParameterJdbcTemplate(DataSourceSE dataSource)
      指定された DataSourceSE の新しい NamedParameterJdbcTemplate を作成します。

      クラシック Spring JdbcTemplate を作成してラップします。

      パラメーター:
      dataSource - アクセスする JDBC DataSource
    • NamedParameterJdbcTemplate

      public NamedParameterJdbcTemplate(JdbcOperations classicJdbcTemplate)
      指定されたクラシック Spring JdbcTemplate の新しい NamedParameterJdbcTemplate を作成します。
      パラメーター:
      classicJdbcTemplate - ラップするクラシック Spring JdbcTemplate
  • メソッドの詳細

    • getJdbcOperations

      public JdbcOperations getJdbcOperations()
      あまり一般的ではないメソッドの呼び出しを可能にするために、典型的な Spring JdbcTemplate 操作を公開します。
      次で指定:
      インターフェース NamedParameterJdbcOperationsgetJdbcOperations 
    • getJdbcTemplate

      public JdbcTemplate getJdbcTemplate()
      特に他の JdbcTemplate コンシューマーに渡すために、可能であればクラシック Spring JdbcTemplate 自体を公開します。

      当面の目的に十分であれば、このバリアントよりも getJdbcOperations() をお勧めします。

      導入:
      5.0.3
    • setCacheLimit

      public void setCacheLimit(int cacheLimit)
      このテンプレートの SQL キャッシュのエントリの最大数を指定します。デフォルトは 256. 0 で、キャッシュがないことを示し、常に各ステートメントを解析します。
    • getCacheLimit

      public int getCacheLimit()
      このテンプレートの SQL キャッシュのエントリの最大数を返します。
    • execute

      @Nullable public <T> T execute(StringSE sql, SqlParameterSource paramSource, PreparedStatementCallback<T> action) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。

      コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。

      次で指定:
      インターフェース NamedParameterJdbcOperationsexecute 
      パラメーター:
      sql - 実行する SQL
      paramSource - クエリにバインドする引数のコンテナー
      action - アクションを指定するコールバックオブジェクト
      戻り値:
      アクションによって返される結果オブジェクト、または null
      例外:
      DataAccessException - 問題がある場合
    • execute

      @Nullable public <T> T execute(StringSE sql, MapSE<StringSE,?> paramMap, PreparedStatementCallback<T> action) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。

      コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。

      次で指定:
      インターフェース NamedParameterJdbcOperationsexecute 
      パラメーター:
      sql - 実行する SQL
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      action - アクションを指定するコールバックオブジェクト
      戻り値:
      アクションによって返される結果オブジェクト、または null
      例外:
      DataAccessException - 問題がある場合
    • execute

      @Nullable public <T> T execute(StringSE sql, PreparedStatementCallback<T> action) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      JDBC PreparedStatement で動作するコールバックアクションとして実装された JDBC データアクセス操作を実行します。これにより、Spring のマネージ JDBC 環境内で、単一のステートメントに任意のデータアクセス操作を実装できます。つまり、Spring 管理トランザクションに参加し、JDBC SQLException を Spring の DataAccessException 階層に変換します。

      コールバックアクションは、ドメインオブジェクトまたはドメインオブジェクトのコレクションなどの結果オブジェクトを返すことができます。

      次で指定:
      インターフェース NamedParameterJdbcOperationsexecute 
      パラメーター:
      sql - 実行する SQL
      action - アクションを指定するコールバックオブジェクト
      戻り値:
      アクションによって返される結果オブジェクト、または null
      例外:
      DataAccessException - 問題がある場合
    • query

      @Nullable public <T> T query(StringSE sql, SqlParameterSource paramSource, ResultSetExtractor<T> rse) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。
      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      rse - 結果を抽出するオブジェクト
      戻り値:
      ResultSetExtractor によって返される任意の結果オブジェクト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      @Nullable public <T> T query(StringSE sql, MapSE<StringSE,?> paramMap, ResultSetExtractor<T> rse) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、ResultSet を ResultSetExtractor で読み取ります。
      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      rse - 結果を抽出するオブジェクト
      戻り値:
      ResultSetExtractor によって返される任意の結果オブジェクト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      @Nullable public <T> T query(StringSE sql, ResultSetExtractor<T> rse) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL を照会して、ResultSet を ResultSetExtractor で読み取り、SQL から準備済みステートメントを作成します。

      メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。

      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      rse - 結果を抽出するオブジェクト
      戻り値:
      ResultSetExtractor によって返される任意の結果オブジェクト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      public void query(StringSE sql, SqlParameterSource paramSource, RowCallbackHandler rch) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。
      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      rch - 結果を 1 行ずつ抽出するオブジェクト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      public void query(StringSE sql, MapSE<StringSE,?> paramMap, RowCallbackHandler rch) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL にクエリを実行して、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowCallbackHandler で ResultSet を行ごとに読み取ります。
      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      rch - 結果を 1 行ずつ抽出するオブジェクト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      public void query(StringSE sql, RowCallbackHandler rch) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL を照会して、RowCallbackHandler を使用して行ごとに ResultSet を読み取り、SQL から準備済みステートメントを作成します。

      メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。

      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      rch - 結果を 1 行ずつ抽出するオブジェクト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      public <T> ListSE<T> query(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。
      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      rowMapper - 行ごとに 1 つのオブジェクトをマップするオブジェクト
      戻り値:
      マッピングされたオブジェクトを含む結果リスト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      public <T> ListSE<T> query(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。
      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      rowMapper - 行ごとに 1 つのオブジェクトをマップするオブジェクト
      戻り値:
      マッピングされたオブジェクトを含む結果リスト
      例外:
      DataAccessException - クエリが失敗した場合
    • query

      public <T> ListSE<T> query(StringSE sql, RowMapper<T> rowMapper) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL を照会して、SQL から準備済みステートメントを作成し、RowMapper を介して各行を Java オブジェクトにマッピングします。

      メモ: 同じ署名を持つ JdbcOperations メソッドとは対照的に、このクエリバリアントは常に PreparedStatement を使用します。これは、空のパラメーター Map を使用したクエリ呼び出しと実質的に同等です。

      次で指定:
      インターフェース NamedParameterJdbcOperationsquery 
      パラメーター:
      sql - 実行する SQL クエリ
      rowMapper - 行ごとに 1 つのオブジェクトをマップするオブジェクト
      戻り値:
      マッピングされたオブジェクトを含む結果リスト
      例外:
      DataAccessException - クエリが失敗した場合
    • queryForStream

      public <T> StreamSE<T> queryForStream(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。
      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForStream 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      rowMapper - 行ごとに 1 つのオブジェクトをマップするオブジェクト
      戻り値:
      マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
      例外:
      DataAccessException - クエリが失敗した場合
    • queryForStream

      public <T> StreamSE<T> queryForStream(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL とクエリにバインドする引数のリストから準備済みステートメントを作成し、各行を RowMapper を介して Java オブジェクトにマッピングし、反復可能でクローズ可能なストリームに変換します。
      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForStream 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      rowMapper - 行ごとに 1 つのオブジェクトをマップするオブジェクト
      戻り値:
      マップされたオブジェクトを含む結果のストリーム。完全に処理されたら閉じる必要があります (たとえば try-with-resources 句を使用)
      例外:
      DataAccessException - クエリが失敗した場合
    • queryForObject

      @Nullable public <T> T queryForObject(StringSE sql, SqlParameterSource paramSource, RowMapper<T> rowMapper) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。
      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForObject 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      rowMapper - 行ごとに 1 つのオブジェクトをマップするオブジェクト
      戻り値:
      単一のマッピングされたオブジェクト (指定された RowMapper が null を返した場合、null になることがあります)
      例外:
      IncorrectResultSizeDataAccessException - クエリが正確に 1 行を返さない場合
      DataAccessException - クエリが失敗した場合
    • queryForObject

      @Nullable public <T> T queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, RowMapper<T> rowMapper) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントとクエリにバインドする引数のリストを作成し、RowMapper を介して単一の結果行を Java オブジェクトにマッピングします。
      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForObject 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      rowMapper - 行ごとに 1 つのオブジェクトをマップするオブジェクト
      戻り値:
      単一のマッピングされたオブジェクト (指定された RowMapper が null を返した場合、null になることがあります)
      例外:
      IncorrectResultSizeDataAccessException - クエリが正確に 1 行を返さない場合
      DataAccessException - クエリが失敗した場合
    • queryForObject

      @Nullable public <T> T queryForObject(StringSE sql, SqlParameterSource paramSource, ClassSE<T> requiredType) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。

      クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForObject 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      requiredType - 結果オブジェクトが一致すると予想される型
      戻り値:
      必要な型の結果オブジェクト、または SQL NULL の場合は null 
      例外:
      IncorrectResultSizeDataAccessException - クエリが正確に 1 行を返さない場合
      IncorrectResultSetColumnCountException - クエリが単一の列を含む行を返さない場合
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForObject

      @Nullable public <T> T queryForObject(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> requiredType) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果オブジェクトを期待します。

      クエリは、単一の行 / 単一列クエリであることが期待されています。返された結果は、対応するオブジェクト型に直接マップされます。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForObject 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      requiredType - 結果オブジェクトが一致すると予想される型
      戻り値:
      必要な型の結果オブジェクト、または SQL NULL の場合は null 
      例外:
      IncorrectResultSizeDataAccessException - クエリが正確に 1 行を返さない場合
      IncorrectResultSetColumnCountException - クエリが単一の列を含む行を返さない場合
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForMap

      public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。

      クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForMap 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      戻り値:
      結果マップ (列名をキーとして使用して、列ごとに 1 つのエントリ)
      例外:
      IncorrectResultSizeDataAccessException - クエリが正確に 1 行を返さない場合
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForMap

      public MapSE<StringSE,ObjectSE> queryForMap(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリして、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果マップを期待します。このインターフェースで定義される queryForMap() メソッドは、ドメインモデルがない場合に適しています。それ以外の場合は、queryForObject() メソッドのいずれかを使用することを検討してください。

      クエリは単一行クエリであることが期待されています。結果行はマップにマップされます(列名をキーとして使用して、各列に 1 つのエントリ)。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForMap 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      戻り値:
      結果マップ (列名をキーとして使用して、列ごとに 1 つのエントリ)
      例外:
      IncorrectResultSizeDataAccessException - クエリが正確に 1 行を返さない場合
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForList

      public <T> ListSE<T> queryForList(StringSE sql, SqlParameterSource paramSource, ClassSE<T> elementType) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。

      結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForList 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      elementType - 結果リスト内の必須型の要素 (たとえば、Integer.class)
      戻り値:
      指定された要素型に一致するオブジェクトのリスト
      例外:
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForList

      public <T> ListSE<T> queryForList(StringSE sql, MapSE<StringSE,?> paramMap, ClassSE<T> elementType) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。

      結果は、結果オブジェクトのリスト(各行に 1 つのエントリ)にマップされ、各オブジェクトは指定された要素型に一致します。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForList 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      elementType - 結果リスト内の必須型の要素 (たとえば、Integer.class)
      戻り値:
      指定された要素型に一致するオブジェクトのリスト
      例外:
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForList

      public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。

      結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの queryForMap メソッドによって返される形式になります。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForList 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      戻り値:
      行ごとにマップを含むリスト
      例外:
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForList

      public ListSE<MapSE<StringSE,ObjectSE>> queryForList(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL をクエリし、SQL から準備されたステートメントと、クエリにバインドする引数のリストを作成し、結果リストを期待します。

      結果は、マップのリスト(行ごとに 1 つのエントリ)にマップされます(列名をキーとして使用して、列ごとに 1 つのエントリ)。リスト内の各要素は、このインターフェースの queryForMap メソッドによって返される形式になります。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForList 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      戻り値:
      行ごとにマップを含むリスト
      例外:
      DataAccessException - クエリが失敗した場合
      関連事項:
    • queryForRowSet

      public SqlRowSet queryForRowSet(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。

      結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。

      デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の com.sun.rowset.CachedRowSetImpl クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForRowSet 
      パラメーター:
      sql - 実行する SQL クエリ
      paramSource - クエリにバインドする引数のコンテナー
      戻り値:
      SqlRowSet 表現 (おそらく javax.sql.rowset.CachedRowSet のラッパー)
      例外:
      DataAccessException - クエリの実行に問題がある場合
      関連事項:
    • queryForRowSet

      public SqlRowSet queryForRowSet(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL を照会して、SQL から準備済みステートメントを作成し、SqlRowSet を想定して、照会にバインドする引数のリストを作成します。

      結果は SqlRowSet にマップされ、切断された方法でデータを保持します。このラッパーは、スローされた SQLException を変換します。

      デフォルトの実装では、JDBC RowSet サポートが実行時に使用可能である必要があることに注意してください。デフォルトでは、Sun の com.sun.rowset.CachedRowSetImpl クラスが使用されます。これは、JDK 1.5 + の一部であり、Sun の JDBC RowSet 実装のダウンロード(rowset.jar)の一部として個別に入手することもできます。

      次で指定:
      インターフェース NamedParameterJdbcOperationsqueryForRowSet 
      パラメーター:
      sql - 実行する SQL クエリ
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      戻り値:
      SqlRowSet 表現 (おそらく javax.sql.rowset.CachedRowSet のラッパー)
      例外:
      DataAccessException - クエリの実行に問題がある場合
      関連事項:
    • update

      public int update(StringSE sql, SqlParameterSource paramSource) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      準備されたステートメントを介して更新を発行し、指定された引数をバインドします。
      次で指定:
      インターフェース NamedParameterJdbcOperationsupdate 
      パラメーター:
      sql - 名前付きパラメーターを含む SQL
      paramSource - クエリにバインドする引数と SQL 型のコンテナー
      戻り値:
      影響を受ける行の数
      例外:
      DataAccessException - 更新の発行に問題がある場合
    • update

      public int update(StringSE sql, MapSE<StringSE,?> paramMap) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      準備されたステートメントを介して更新を発行し、指定された引数をバインドします。
      次で指定:
      インターフェース NamedParameterJdbcOperationsupdate 
      パラメーター:
      sql - 名前付きパラメーターを含む SQL
      paramMap - クエリにバインドするパラメーターのマップ (対応する SQL 型を推測するために PreparedStatement に任せる)
      戻り値:
      影響を受ける行の数
      例外:
      DataAccessException - 更新の発行に問題がある場合
    • update

      public int update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。

      この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。

      次で指定:
      インターフェース NamedParameterJdbcOperationsupdate 
      パラメーター:
      sql - 名前付きパラメーターを含む SQL
      paramSource - クエリにバインドする引数と SQL 型のコンテナー
      generatedKeyHolder - 生成されたキーを保持する KeyHolder
      戻り値:
      影響を受ける行の数
      例外:
      DataAccessException - 更新の発行に問題がある場合
      関連事項:
    • update

      public int update(StringSE sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, @Nullable StringSE[] keyColumnNames) throws DataAccessException
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      準備されたステートメントを介して更新を発行し、指定された引数をバインドし、生成されたキーを返します。

      この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。

      次で指定:
      インターフェース NamedParameterJdbcOperationsupdate 
      パラメーター:
      sql - 名前付きパラメーターを含む SQL
      paramSource - クエリにバインドする引数と SQL 型のコンテナー
      generatedKeyHolder - 生成されたキーを保持する KeyHolder
      keyColumnNames - キーが生成される列の名前
      戻り値:
      影響を受ける行の数
      例外:
      DataAccessException - 更新の発行に問題がある場合
      関連事項:
    • batchUpdate

      public int[] batchUpdate(StringSE sql, SqlParameterSource[] batchArgs)
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。
      次で指定:
      インターフェース NamedParameterJdbcOperationsbatchUpdate 
      パラメーター:
      sql - 実行する SQL ステートメント
      batchArgs - クエリの引数のバッチを含む SqlParameterSource の配列
      戻り値:
      バッチ内の各更新によって影響を受ける行の数を含む配列 (Statement.SUCCESS_NO_INFOSE/Statement.EXECUTE_FAILEDSE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)
    • batchUpdate

      public int[] batchUpdate(StringSE sql, MapSE<StringSE,?>[] batchValues)
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      提供された引数のバッチで提供された SQL ステートメントを使用して、バッチを実行します。
      次で指定:
      インターフェース NamedParameterJdbcOperationsbatchUpdate 
      パラメーター:
      sql - 実行する SQL ステートメント
      batchValues - クエリの引数のバッチを含むマップの配列
      戻り値:
      バッチ内の各更新によって影響を受ける行の数を含む配列 (Statement.SUCCESS_NO_INFOSE/Statement.EXECUTE_FAILEDSE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)
    • batchUpdate

      public int[] batchUpdate(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder)
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。

      この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。

      次で指定:
      インターフェース NamedParameterJdbcOperationsbatchUpdate 
      パラメーター:
      sql - 実行する SQL ステートメント
      batchArgs - クエリの引数のバッチを含む SqlParameterSource の配列
      generatedKeyHolder - 生成されたキーを保持する KeyHolder
      戻り値:
      バッチ内の各更新によって影響を受ける行の数を含む配列 (Statement.SUCCESS_NO_INFOSE/Statement.EXECUTE_FAILEDSE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)
      関連事項:
    • batchUpdate

      public int[] batchUpdate(StringSE sql, SqlParameterSource[] batchArgs, KeyHolder generatedKeyHolder, @Nullable StringSE[] keyColumnNames)
      インターフェースからコピーされた説明: NamedParameterJdbcOperations
      指定された SQL ステートメントと指定された引数のバッチを使用してバッチを実行し、生成されたキーを返します。

      この方法では、JDBC ドライバーで生成されたキーのサポートが必要です。

      次で指定:
      インターフェース NamedParameterJdbcOperationsbatchUpdate 
      パラメーター:
      sql - 実行する SQL ステートメント
      batchArgs - クエリの引数のバッチを含む SqlParameterSource の配列
      generatedKeyHolder - 生成されたキーを保持する KeyHolder
      keyColumnNames - キーが生成される列の名前
      戻り値:
      バッチ内の各更新によって影響を受ける行の数を含む配列 (Statement.SUCCESS_NO_INFOSE/Statement.EXECUTE_FAILEDSE などの影響を受ける行に対して特別な JDBC 定義の負の値が含まれる場合もあります)
      関連事項:
    • getPreparedStatementCreator

      protected PreparedStatementCreator getPreparedStatementCreator(StringSE sql, SqlParameterSource paramSource)
      指定された SQL および名前付きパラメーターに基づいて PreparedStatementCreator を作成します。

      メモ: すべての query バリアントから直接呼び出されます。一般的な getPreparedStatementCreator(String, SqlParameterSource, Consumer) メソッドへのデリゲート。

      パラメーター:
      sql - 実行する SQL ステートメント
      paramSource - バインドする引数のコンテナー
      戻り値:
      対応する PreparedStatementCreator
      関連事項:
    • getPreparedStatementCreator

      protected PreparedStatementCreator getPreparedStatementCreator(StringSE sql, SqlParameterSource paramSource, @Nullable ConsumerSE<PreparedStatementCreatorFactory> customizer)
      指定された SQL および名前付きパラメーターに基づいて PreparedStatementCreator を作成します。

      メモ: 生成されたキー処理で update バリアントに使用され、getPreparedStatementCreator(String, SqlParameterSource) から委譲されます。

      パラメーター:
      sql - 実行する SQL ステートメント
      paramSource - バインドする引数のコンテナー
      customizer - 実際の newPreparedStatementCreator 呼び出しの前に適用される、使用中の PreparedStatementCreatorFactory にさらにプロパティを設定するためのコールバック
      戻り値:
      対応する PreparedStatementCreator
      導入:
      5.0.5
      関連事項:
    • getParsedSql

      protected ParsedSql getParsedSql(StringSE sql)
      指定された SQL ステートメントの解析された表現を取得します。

      デフォルトの実装では、上限が 256 エントリの LRU キャッシュが使用されます。

      パラメーター:
      sql - 元の SQL ステートメント
      戻り値:
      解析された SQL ステートメントの表現
    • getPreparedStatementCreatorFactory

      protected PreparedStatementCreatorFactory getPreparedStatementCreatorFactory(ParsedSql parsedSql, SqlParameterSource paramSource)
      指定された SQL および名前付きパラメーターに基づいて PreparedStatementCreatorFactory を作成します。
      パラメーター:
      parsedSql - 指定された SQL ステートメントの解析された表現
      paramSource - バインドする引数のコンテナー
      戻り値:
      対応する PreparedStatementCreatorFactory
      導入:
      5.1.3
      関連事項: