2016-05-31 15 views
3

JdbcTemplateの助けを借りて複数の行を削除したいですか? msgNosは、26,27のようなカンマ区切りの値を含む文字列変数です。ステートメントを実行した後は、1つのレコードしか削除されません。代わりに、名前付きパラメータを使用することができますorg.springframework.jdbc.core.JdbcTemplate使用org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplateJdbcTemplateで複数の行を削除する方法

String sqlQuery = " delete from canned_message where msg_no in (?)"; 
Object[] params = {msgNos}; 
int rows = smsdbJdbcTemplate.update(sqlQuery, params); 

答えて

6

は、その後、あなたのクエリで、あなたは、句の

String sqlQuery = "delete from canned_message where msg_no in (:msgNos)"; 
List<Integer> params = <array list of number>; 
Map namedParameters = Collections.singletonMap("msgNos", params); 
int rows = smsdbJdbcTemplate.update(sqlQuery, namedParameters); 

ノートにパラメータ値としてListを渡すことができます。私はあなたが必要とするように、適切なデータ型を使用しList<Integer>使用しました。

+0

あなたの提案に感謝し、それはNamedParameterJdbcTemplate –

関連する問題