关于使用“BatchDao”实现批量插入/更新/删除逻辑

public interface BatchDao {
    int deleteBatch(final String name, final Collection parameters);

    int updateBatch(final String name, final Collection parameters);

    int insertBatch(final String name, final Collection parameters);
}

由BatDao源码可见,我们需要在相应的方法里面插入list来完成此次的批量操作;

//批量插入list
List<HashMap> insertList = new ArrayList<>();
List<Map<String,String>>list= (List<Map<String, String>>) inInfo.get("rows");
for (int i=0;i<list.size();i++){
    String iid2 = UUIDHexIdGenerator.generate().toString();
    Map<String,String>map1=list.get(0);//这里取到我们线路/单位信息
    HashMap <String,String>map2=new HashMap<>();
    map2.put("iid",iid2);
    map2.put("checkLevel",map.get("checkLevel"));//检查级别
    map2.put("orgType",map1.get("type"));//部门类型
    map2.put("dept",map1.get("belongDep"));//部门/中心
    map2.put("deptCname",map1.get("belongDepCname"));//部门/中心中文
    map2.put("checkDate",map.get("checkTime"));//检查日期
    map2.put("line",map1.get("line"));//线路
    map2.put("checkPlace",map1.get("orgName"));//地点
    map2.put("recordId",iid);//检查记录id
    insertList.add(map2);
}

这里在for循环的背景下实现批量操作,也就是在原本使用map进行逐次操作的环境下换成“将map装进list”中实现本次的功能,并且无需一直循环去调dao.insert()方法;

步骤

1、在for循环外面声明一个list用来封装map;
2、在for循环里面为list进行赋值,
3、赋值完成后在for循环外面直接像往常一样调用插入/更新/删除方法,并对其方法进行赋值;

dao.insertBatch("sql",list);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值