我有一条消息和许多收件人,我想知道的是当我想要保存它时...对于每个收件人使用Statement.execute()是否合适,或者它可以被认为是“硬” -coding“
public void save(Int id,String subject, String body, ArrayList<String> emails){
String sq = "CALL saveMessage(?,?)";
CallableStatement st = this.connection.prepareCall(sq);
st.setInt(1,id);
st.setString(2, subject);
st.setString(3, body);
st.execute();
for(String e:emails){
query = "CALL saveRecipientByMessage(?,?)";
CallableStatement st2 = this.connection.prepareCall(query);
st2.setInt(1,id);
st2.setString(2,e);
st2.execute();
}
}
感谢阅读。
答案 0 :(得分:2)
foreach
没问题,但这里更好的JDBC做法是使用批处理。