关于MySQL批量插入工具类
关于很多老项目要用到jdbc进行批量更新的情况写了一个工具类
public static StringBuilder test(List ids,List datas){
StringBuilder sql1 = new StringBuilder("UPDATE article SET recommendArticle=(CASE id ");
StringBuilder sql2 = new StringBuilder("");
for (int i=0;i
sql2.append("WHEN "+ids.get(i)+" THEN "+datas.get(i)+" ");
}
sql2.append("ELSE recommendArticle END),");
sql2.append("recommendAsk = (CASE id ");
for (int i=0;i
sql2.append("WHEN "+ids.get(i)+" THEN "+datas.get(i)+" ");
}
sql2.append("ELSE recommendAsk END)");
String s = ids.toString();
String idsStr = s.substring(1, s.length()-1);
sql2.append("WHERE id in("+idsStr+")");
sql1.append(sql2);
return sql1;
}
注意事项
1.第一个List集合是要修改的记录的id,第二个List是要修改的记录的数据,我这里的使用场景是要修改的两个字段的记录值都是相同的,所以一个数据填充到两列,当然如果你要修改的每列的数据不相同,根据需求加形参列表即可。注意点:要修改的记录id和数据的顺序必须是相同的,保证有序且一一对应。
点赞
收藏
分享
文章举报
1000-7
发布了11 篇原创文章 · 获赞 0 · 访问量 1014
私信
关注