クラス StatementCreatorUtils

java.lang.ObjectSE
org.springframework.jdbc.core.StatementCreatorUtils

public abstract class StatementCreatorUtils extends ObjectSE
PreparedStatementSetter/Creator および CallableStatementCreator 実装のユーティリティメソッド。高度なパラメーター管理を提供します(LOB 値のサポートを含む)。

PreparedStatementCreatorFactory および CallableStatementCreatorFactory で使用されますが、カスタム setter/creator 実装で直接使用することもできます。

導入:
1.1
作成者:
Thomas Risberg, Juergen Hoeller
関連事項:
  • フィールドの詳細

    • IGNORE_GETPARAMETERTYPE_PROPERTY_NAME

      public static final StringSE IGNORE_GETPARAMETERTYPE_PROPERTY_NAME
      Spring に ParameterMetaData.getParameterType(int)SE を完全に無視、つまり setNull(java.sql.PreparedStatement, int, int, java.lang.String) の呼び出しに対して PreparedStatement.getParameterMetaData() を取得しないように指示するシステムプロパティです。

      デフォルトは "false" で、最初に getParameterType 呼び出しを試行し、一般的なデータベースのよく知られた動作に基づいて PreparedStatement.setNull(int, int)SE/PreparedStatement.setObject(int, java.lang.Object, int)SE 呼び出しにフォールバックします。

      実行時に不正な動作が発生した場合は、このフラグを "true" に切り替えることを検討してください。getParameterType からスローされた例外の場合(JBoss AS 7 で報告された場合)またはパフォーマンスの課題の場合(PostgreSQL で報告された場合)の接続プールの課題。

      関連事項:
  • コンストラクターの詳細

    • StatementCreatorUtils

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

    • javaTypeToSqlParameterType

      public static int javaTypeToSqlParameterType(@Nullable ClassSE<?> javaType)
      指定された Java 型からデフォルトの SQL 型を派生させます。
      パラメーター:
      javaType - 変換する Java 型
      戻り値:
      対応する SQL 型。見つからない場合は SqlTypeValue.TYPE_UNKNOWN
    • setParameterValue

      public static void setParameterValue(PreparedStatementSE ps, int paramIndex, SqlParameter param, @Nullable ObjectSE inValue) throws SQLExceptionSE
      パラメーターの値を設定します。使用されるメソッドはパラメーターの SQL 型に基づいており、配列や LOB などの複雑な型を処理できます。
      パラメーター:
      ps - 準備されたステートメントまたは呼び出し可能なステートメント
      paramIndex - 設定しているパラメーターのインデックス
      param - 型を含めて宣言されているパラメーター
      inValue - 設定する値
      例外:
      SQLExceptionSE - PreparedStatement メソッドによってスローされた場合
    • setParameterValue

      public static void setParameterValue(PreparedStatementSE ps, int paramIndex, int sqlType, @Nullable ObjectSE inValue) throws SQLExceptionSE
      パラメーターの値を設定します。使用されるメソッドはパラメーターの SQL 型に基づいており、配列や LOB などの複雑な型を処理できます。
      パラメーター:
      ps - 準備されたステートメントまたは呼び出し可能なステートメント
      paramIndex - 設定しているパラメーターのインデックス
      sqlType - パラメーターの SQL 型
      inValue - 設定する値 (プレーンな値または SqlTypeValue)
      例外:
      SQLExceptionSE - PreparedStatement メソッドによってスローされた場合
      関連事項:
    • setParameterValue

      public static void setParameterValue(PreparedStatementSE ps, int paramIndex, int sqlType, StringSE typeName, @Nullable ObjectSE inValue) throws SQLExceptionSE
      パラメーターの値を設定します。使用されるメソッドはパラメーターの SQL 型に基づいており、配列や LOB などの複雑な型を処理できます。
      パラメーター:
      ps - 準備されたステートメントまたは呼び出し可能なステートメント
      paramIndex - 設定しているパラメーターのインデックス
      sqlType - パラメーターの SQL 型
      typeName - パラメーターの型名 (オプション、SQL NULL および SqlTypeValue にのみ使用)
      inValue - 設定する値 (プレーンな値または SqlTypeValue)
      例外:
      SQLExceptionSE - PreparedStatement メソッドによってスローされた場合
      関連事項:
    • cleanupParameters

      public static void cleanupParameters(@Nullable ObjectSE... paramValues)
      実行メソッドに渡されたパラメーター値によって保持されているすべてのリソースをクリーンアップします。これは、たとえば、LOB 値を閉じる場合に重要です。
      パラメーター:
      paramValues - 提供されるパラメーター値。null の場合があります。
      関連事項:
    • cleanupParameters

      public static void cleanupParameters(@Nullable CollectionSE<?> paramValues)
      実行メソッドに渡されたパラメーター値によって保持されているすべてのリソースをクリーンアップします。これは、たとえば、LOB 値を閉じる場合に重要です。
      パラメーター:
      paramValues - 提供されるパラメーター値。null の場合があります。
      関連事項: