クラス NamedParameterUtils

java.lang.ObjectSE
org.springframework.jdbc.core.namedparam.NamedParameterUtils

public abstract class NamedParameterUtils extends ObjectSE
名前付きパラメーター解析のヘルパーメソッド。

Spring の JDBC フレームワーク内での内部使用のみを目的としています。

導入:
2.0
作成者:
Thomas Risberg, Juergen Hoeller, Yanming Zhou
  • コンストラクターの詳細

    • NamedParameterUtils

      public NamedParameterUtils()
  • メソッドの詳細

    • parseSqlStatement

      public static ParsedSql parseSqlStatement(StringSE sql)
      SQL ステートメントを解析し、プレースホルダーまたは名前付きパラメーターを見つけます。名前付きパラメーターは、JDBC プレースホルダーの代わりに使用されます。
      パラメーター:
      sql - SQL ステートメント
      戻り値:
      ParsedSql インスタンスとして表される解析済みステートメント
    • substituteNamedParameters

      public static StringSE substituteNamedParameters(ParsedSql parsedSql, @Nullable SqlParameterSource paramSource)
      SQL ステートメントを解析し、プレースホルダーまたは名前付きパラメーターを見つけます。名前付きパラメーターは JDBC プレースホルダーに置き換えられ、選択リストは必要な数のプレースホルダーに展開されます。選択リストにはオブジェクトの配列が含まれる場合があり、その場合、プレースホルダーはグループ化され、括弧で囲まれます。これにより、次のような SQL ステートメントで「式リスト」を使用できます。

       select id, name, state from table where (name, age) in (('John', 35), ('Ann', 50))

      渡されるパラメーター値は、選択リストに使用されるプレースホルダーの数を決定するために使用されます。選択リストは 100 個以下の要素に制限する必要があります。多数の要素がデータベースでサポートされることは保証されておらず、厳密にベンダーに依存しています。

      パラメーター:
      parsedSql - SQL 文の解析された表現
      paramSource - 名前付きパラメーターのソース
      戻り値:
      置換されたパラメーターを持つ SQL ステートメント
      関連事項:
    • buildValueArray

      public static ObjectSE[] buildValueArray(ParsedSql parsedSql, SqlParameterSource paramSource, @Nullable ListSE<SqlParameter> declaredParams)
      名前付きパラメーター値のマップを対応する配列に変換します。
      パラメーター:
      parsedSql - 解析された SQL ステートメント
      paramSource - 名前付きパラメーターのソース
      declaredParams - 宣言された SqlParameter オブジェクトのリスト(null の場合がある)指定した場合、パラメーターメタデータは SqlParameterValue オブジェクトの形式で値の配列に組み込まれます。
      戻り値:
      値の配列
    • buildSqlTypeArray

      public static int[] buildSqlTypeArray(ParsedSql parsedSql, SqlParameterSource paramSource)
      パラメーター型を SqlParameterSource から対応する int 配列に変換します。これは、JdbcTemplate で既存のメソッドを再利用するために必要です。名前付きパラメーター型はすべて、解析された SQL ステートメント情報に基づいて、オブジェクト配列の正しい位置に配置されます。
      パラメーター:
      parsedSql - 解析された SQL ステートメント
      paramSource - 名前付きパラメーターのソース
    • buildSqlParameterList

      public static ListSE<SqlParameter> buildSqlParameterList(ParsedSql parsedSql, SqlParameterSource paramSource)
      パラメーター宣言を SqlParameterSource から対応する SqlParameters のリストに変換します。これは、JdbcTemplate で既存のメソッドを再利用するために必要です。名前付きパラメーターの SqlParameter は、解析された SQL ステートメント情報に基づいて、結果リストの正しい位置に配置されます。
      パラメーター:
      parsedSql - 解析された SQL ステートメント
      paramSource - 名前付きパラメーターのソース
    • parseSqlStatementIntoString

      public static StringSE parseSqlStatementIntoString(StringSE sql)
      SQL ステートメントを解析し、プレースホルダーまたは名前付きパラメーターを見つけます。名前付きパラメーターは、JDBC プレースホルダーの代わりに使用されます。

      これは substituteNamedParameters(ParsedSql, SqlParameterSource) と組み合わせた parseSqlStatement(String) のショートカットバージョンです。

      パラメーター:
      sql - SQL ステートメント
      戻り値:
      実際の(解析された)SQL ステートメント
    • substituteNamedParameters

      public static StringSE substituteNamedParameters(StringSE sql, SqlParameterSource paramSource)
      SQL ステートメントを解析し、プレースホルダーまたは名前付きパラメーターを見つけます。名前付きパラメーターは JDBC プレースホルダーの代わりに使用され、選択リストは必要な数のプレースホルダーに拡張されます。

      これは substituteNamedParameters(ParsedSql, SqlParameterSource) のショートカットバージョンです。

      パラメーター:
      sql - SQL ステートメント
      paramSource - 名前付きパラメーターのソース
      戻り値:
      置換されたパラメーターを持つ SQL ステートメント
    • buildValueArray

      public static ObjectSE[] buildValueArray(StringSE sql, MapSE<StringSE,?> paramMap)
      名前付きパラメーター値のマップを対応する配列に変換します。

      これは buildValueArray(ParsedSql, SqlParameterSource, java.util.List) のショートカットバージョンです。

      パラメーター:
      sql - SQL ステートメント
      paramMap - パラメーターのマップ
      戻り値:
      値の配列