public abstract class AbstractSqlTypeValue extends ObjectSE implements SqlTypeValue
PreparedStatement.setObject
メソッドに渡されることになっている型値の便利な作成のための SqlTypeValue インターフェースの抽象的な実装。データベース固有のオブジェクトを作成するために必要な場合は、createTypeValue
コールバックメソッドが基になる接続にアクセスできます。StoredProcedure の使用例(これをスーパークラス javadoc のプレーン SqlTypeValue バージョンと比較してください):
proc.declareParameter(new SqlParameter("myarray", Types.ARRAY, "NUMBERS")); ... Map<String, Object> in = new HashMap<String, Object>(); in.put("myarray", new AbstractSqlTypeValue() { public Object createTypeValue(Connection con, int sqlType, String typeName) throws SQLException { oracle.sql.ArrayDescriptor desc = new oracle.sql.ArrayDescriptor(typeName, con); return new oracle.sql.ARRAY(desc, con, seats); } }); Map out = execute(in);
PreparedStatement.setObject(int, Object, int)
SE, StoredProcedure
TYPE_UNKNOWN
コンストラクターと説明 |
---|
AbstractSqlTypeValue() |
修飾子と型 | メソッドと説明 |
---|---|
protected abstract ObjectSE | createTypeValue(ConnectionSE con, int sqlType, StringSE typeName) PreparedStatement.setObject に渡される型値を作成します。 |
void | setTypeValue(PreparedStatementSE ps, int paramIndex, int sqlType, StringSE typeName) 指定された PreparedStatement に型値を設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public final void setTypeValue(PreparedStatementSE ps, int paramIndex, int sqlType, @Nullable StringSE typeName) throws SQLExceptionSE
SqlTypeValue
SqlTypeValue
の setTypeValue
ps
- PreparedStatement に取り組む paramIndex
- 値を設定する必要があるパラメーターのインデックス sqlType
- 設定するパラメーターの SQL 型 typeName
- パラメーターの型名 (オプション)SQLExceptionSE
- パラメーター値の設定中に SQLException が発生した場合 Types
SE, PreparedStatement.setObject(int, java.lang.Object, int)
SEprotected abstract ObjectSE createTypeValue(ConnectionSE con, int sqlType, @Nullable StringSE typeName) throws SQLExceptionSE
PreparedStatement.setObject
に渡される型値を作成します。con
- データベース固有のオブジェクトを作成する必要がある場合は、JDBC 接続 sqlType
- 設定するパラメーターの SQL 型 typeName
- パラメーターの型名 SQLExceptionSE
- パラメーター値の設定で SQLException が発生した場合 (つまり、SQLException をキャッチする必要はありません。)PreparedStatement.setObject(int, Object, int)
SE