微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我有一条消息和许多收件人,我想知道的是当我想要保存它时…对于消息所具有的每个收件人使用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实践是使用批处理.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐