我有一条消息和许多收件人,我想知道的是当我想要保存它时…对于消息所具有的每个收件人使用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进行多次插入是一个好习惯吗?


猜你喜欢
- 图解Java中归并排序算法的原理与实现 2023-04-23
- Java创建数组的多种方式 2023-10-08
- Java超详细分析讲解哈希表 2022-11-29
- jsp实现生成中国国旗图片效果代码 2023-08-03
- centos6.8配置Java环境 2023-09-01
- Java字符串遍历的多种方式 2023-10-08
- Spring事务管理详细讲解 2023-06-16
- SpringBoot登录验证token拦截器的实现 2023-02-19
- jsp中实现带滚动条的table表格实例代码 2023-08-02
- 使用feign配置网络ip代理 2023-02-10