myBatis进行批量修改

我的批量修改思想就是生成多条update语句进行修改,上代码吧

mapper.xml文件

<update id="updateByBatch" parameterType="java.util.List">
    <foreach collection="list" separator=";" item="l">
      update businessinfo set businessinfo_status='2' where id=#{l}
 </foreach></update>

 这种方法接受的类型为list,所以parameterType就填java.util.List,要用map那就自己修改  很简单 道理一样,然后根据你的list个数生成N条sql语句,collection后面填的是参数名,separator是将语句用,隔开,l那就是参数的别名。

mapper类

public interface DatabaseinfoMapper {
    public void updateByBatch(List list);
}

 service类

public interface DatabaseinfoService {
    public void updateByBatch(List list);
}

 接口实现类

@Service
@Transactional(rollbackFor = Exception.class)
public class DatabaseinfoServiceImpl implements DatabaseinfoService {
    @Resource
    private DatabaseinfoMapper databaseinfoMapper;

    @Override
    public void updateByBatch(List list) {
        databaseinfoMapper.updateByBatch(list);
    }
}

 调用方法

public void test () {
    List<Databaseinfo> database=takeDatabaseinfo.getList();
            ArrayList list=new ArrayList();
               for(Databaseinfo d:database){
                      list.add(d.getId());
                   }
            databaseinfoService.updateByBatch(list);//调用
}

 测试自己根据情况更改

 

...........对了这种方法需要在数据库链接地址后面加上&allowMultiQueries=true

不然会报错

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值