java – 在数据库中使用foreach进行多次插入是一个好习惯吗?

我有一条消息和许多收件人,我想知道的是当我想要保存它时…对于消息所具有的每个收件人使用Statement.execute()是否合适,或者可以将其视为“硬编码”public void save(Int id,String subject, String body, ArrayLis...

我有一条消息和许多收件人,我想知道的是当我想要保存它时…对于消息所具有的每个收件人使用Statement.execute()是否合适,或者可以将其视为“硬编码”

   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();
    }
}

谢谢阅读.

解决方法:

foreach是可以的,但这里更好的JDBC实践是使用批处理.

本文标题为:java – 在数据库中使用foreach进行多次插入是一个好习惯吗?

基础教程推荐