本文共 1153 字,大约阅读时间需要 3 分钟。
在业务场景中,很多时候我们会对某一个表实现批量新增或者删除操作,如果我们循环调用接口,循环操作数据库,虽然需求是可以实现的,但是显示是不合理的。这时就用到了批量操作,让其数据库自己做循环,避免多次调用同一个接口。
1.批量新增 mapper接口int insert(@Param("list") Listlist);
mybatis实现
insert into t_overview_measure_demand_rel (measure_id, demand_id, `type`, create_time, create_user, update_time, update_user, del) values (#{item.measureId,jdbcType=BIGINT}, #{item.demandId,jdbcType=BIGINT}, #{item.type,jdbcType=TINYINT}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.createUser,jdbcType=VARCHAR}, #{item.updateTime,jdbcType=TIMESTAMP}, #{item.updateUser,jdbcType=VARCHAR}, 0)
2.批量删除
如果接收的是一个字符串ids,则先需要将它转换为一个List,service实现@Override public int deleteDeploymentLogById(String ids) { ListidList = Arrays.asList(ids.split(",")).stream().map(s -> Long.parseLong(s.trim())).collect(Collectors.toList()); return deploymentLogMapper.deleteDeploymentLogById(idList); }
mapper接口
int deleteDeploymentLogById(Listids);
mybatis实现
update t_operation_deployment_log set del = 1 where del = 0 and id in #{item}
转载地址:http://ywamb.baihongyu.com/