我的初衷是想要通过foreach遍历得到需要的id,然后把id拼接成一个String类型的ids,批量操作数据库
我首先想到的拼接是String.append(),操作如下:
WsGoodSpecs wsGoodSpecs = new WsGoodSpecs();
List<WsGoodSpecs>specsList = wsGoodSpecsService.selectByTypeId(goodsId);
StringBuffer sb = new StringBuffer("");
for (WsGoodSpecs wsGoodSpecs2 : specsList) {
String id = String.valueOf(wsGoodSpecs2.getId());
sb.append(id);
sb.append(",");
}
if(sb.length()>0)
sb.replace(sb.length()-1, sb.length(), "");
String ids = sb.toString();
if(CollectionUtils.isNotEmpty(specsList))
wsGoodSpecsService.deleteWsGoodSpecsByIds(ids);
首先上面这种方式,占空间,其次,容易报错。推荐使用String.join(),String.join()是JDK8新增方法(无需引包)
使用String.join()不需要过多的判断,也不容易出错
WsGoodSpecs wsGoodSpecs = new WsGoodSpecs();