クラス StatementCreatorUtils
java.lang.ObjectSE
org.springframework.jdbc.core.StatementCreatorUtils
PreparedStatementSetter/Creator および CallableStatementCreator 実装のユーティリティメソッド。高度なパラメーター管理を提供します(LOB 値のサポートを含む)。
PreparedStatementCreatorFactory および CallableStatementCreatorFactory で使用されますが、カスタム setter/creator 実装で直接使用することもできます。
- 導入:
- 1.1
- 作成者:
- Thomas Risberg, Juergen Hoeller
- 関連事項:
フィールドサマリー
修飾子と型フィールド説明static final StringSE
Spring にParameterMetaData.getParameterType(int)
SE を完全に無視するように指示するシステムプロパティ。コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明static void
cleanupParameters
(ObjectSE... paramValues) 実行メソッドに渡されたパラメーター値によって保持されているすべてのリソースをクリーンアップします。static void
cleanupParameters
(CollectionSE<?> paramValues) 実行メソッドに渡されたパラメーター値によって保持されているすべてのリソースをクリーンアップします。static int
javaTypeToSqlParameterType
(ClassSE<?> javaType) 指定された Java 型からデフォルトの SQL 型を派生させます。static void
setParameterValue
(PreparedStatementSE ps, int paramIndex, int sqlType, ObjectSE inValue) パラメーターの値を設定します。static void
setParameterValue
(PreparedStatementSE ps, int paramIndex, int sqlType, StringSE typeName, ObjectSE inValue) パラメーターの値を設定します。static void
setParameterValue
(PreparedStatementSE ps, int paramIndex, SqlParameter param, ObjectSE inValue) パラメーターの値を設定します。
フィールドの詳細
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
指定された 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
実行メソッドに渡されたパラメーター値によって保持されているすべてのリソースをクリーンアップします。これは、たとえば、LOB 値を閉じる場合に重要です。- パラメーター:
paramValues
- 提供されるパラメーター値。null
の場合があります。- 関連事項:
cleanupParameters
実行メソッドに渡されたパラメーター値によって保持されているすべてのリソースをクリーンアップします。これは、たとえば、LOB 値を閉じる場合に重要です。- パラメーター:
paramValues
- 提供されるパラメーター値。null
の場合があります。- 関連事項: