我有一条消息和许多收件人,我想知道的是当我想要保存它时…对于消息所具有的每个收件人使用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-01-09
- JSP 开发之servlet中调用注入spring管理的dao 2023-08-02
- 一文带你了解Java设计模式之原型模式 2023-05-13
- 通过FeignClient如何获取文件流steam is close问题 2023-01-09
- SpringBoot使用AOP实现统计全局接口访问次数详解 2023-01-12
- SpringBoot 自定义注解异步记录复杂日志详解 2023-06-01
- JSP 获取本地图片的实例详解 2023-07-31
- Spring Boot详解创建和运行基础流程 2023-01-18
- 利用Maven实现将代码打包成第三方公共jar包 2023-06-23
- mybatis实现获取入参是List和Map的取值 2023-02-04
