2016-05-18 20 views
0

PreparedStatementという1回のメソッド呼び出しで複数のパラメータを設定することはできますか?私はJava 1.6を使って操作を見つけることができません。このようなPreparedStatementの1つのメソッドで複数のパラメータを設定する方法

何か:

// This query takes multiple input parameters 
PreparedStatement ps = conn.prepareStatement("INSERT INTO MY_TABLE (COLUMN1, COLUMN2, COLUMN3, COLUMN4, COLUMN5) VALUES (?, ?, ?, ?, ?)"); 

// I would like to set all at once 
ps.setMultipleParameters("USERNAME", 789, new Date(), 9999L, null); 

私はパラメータのリストをコピーして、単なるテストに貼り付けることができるので、私は、統合テストを書い容易にするための方法を探しています。

+0

個別に設定するとどうなりますか? – Reimeus

+0

以下の回答を参照してください。 –

+0

@Reimeus nothing。自動生成されたステートメントからコピー/貼り付けを少し時間を節約しようとするだけです。 – BonanzaOne

答えて

1

jdbc APIにはこのようなメソッドがあるとは思われませんが、これを行うメソッドを簡単に記述できます。

public static void setParameters(PreparedStatement statement, Object... parameters) throws SQLException { 
    for (int i=0; i < parameters.length; i++) { 
     statement.setObject(i, parameters[i]); 
    } 
} 

しかし、制限はパラメータの種類に適用されるかを確認することがPreparedStatement.setObject(..)のJavadocを読んでください。

関連する問題