我有一条消息和许多收件人,我想知道的是当我想要保存它时…对于消息所具有的每个收件人使用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-07-14
- Request获取Session的方法总结 2023-07-30
- Java web实现购物车案例 2023-04-23
- Java服务器处理图片上传的方法 2023-01-29
- SpringBoot集成MQTT示例详解 2023-03-15
- 详解Spring系列之@ComponentScan自动扫描组件 2023-01-03
- jsp中点击图片弹出文件上传界面及实现预览实例详解 2023-08-01
- 解读Spring Bean的作用域 2023-06-30
- JVM 运行时数据区与JMM 内存模型 2023-03-21
- springboot整合RabbitMQ 中的 TTL实例代码 2023-06-01