我有一条消息和许多收件人,我想知道的是当我想要保存它时…对于消息所具有的每个收件人使用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 – 在mongodb中按日期对值排序 2023-11-06
- log4j2使用filter过滤日志方式 2023-08-08
- java – 基于JDBC的HSQLDB:批量执行SQL语句 2023-11-06
- SpringBoot中的PUT和Delete请求使用 2023-02-11
- springboot如何读取sftp的文件 2023-08-11
- 基于Java实现简单的时序数据压缩算法 2023-02-04
- VSCode中开发JavaWeb项目的详细过程(Maven+Tomcat+热部署) 2023-06-06
- Java线程池Executor用法详解 2023-03-31
- Java+mysql实现学籍管理系统 2023-03-16
- springboot整合JSR303参数校验与全局异常处理的方法 2023-05-25