UpdateWrapper


wrapper包装更新类:UpdateWrapper

UpdateWrapper有两个函数:eq表示相等,in表示包含在里面

一般不用包装,因为UpdateWrapper无法从返回结果判断是否更新成功。当普通update方法无法满足需求时,可使用包装,如批量更新

  1.  public int updateByName(Map<String, Object> map) {
        String name = StringKit.of(map.get("name"));
        UpdateWrapper<a> upcst = new UpdateWrapper<>();
        upcst.eq("name", name);
        if(map.containsKey("age")) {
          upcst.set("age", StringKit.of(map.get("age")));a
        }
        return mapper.update(null, upcst);
      }
      此方法是对 Bean 对象 a 进行封装 ,以 name 为主键,更新 age 的内容
    
      public int updates(List<Map<String, Object>> qglist) {
      	qglist.forEach(qg -> update(qg));
        return qglist.size();
      }
    

批量更新,用于多个 Bean 对象 a,以 name 为主键,更新 age 的内容,age的内容不同

 public int updates(Map<String, Object> as) {
      String names= StringKit.of(checkers.get("names"));
      if (codes.isEmpty()) {
        return 0;
      }
      String[] namearray = names.split(",");
      List<String> namelist = new ArrayList<>();
      for (String name: namearray ) {
        namelist .add(name);
        }
    UpdateWrapper<a> ups = new UpdateWrapper<>();
    ups.in("name", namelist);
    if (as.containsKey("age")) {
      Integer age= NumberKit.IntegerOf(checkers.get("age"));
      ups.set("age", age);
    }
    int r = mapper.update(null, ups);
    return r;
  }

此方法用于批量更新,names为多个 a 的主键 name 以 逗号 ” ,“ 分割拼成的字符串,转化为 namelist ,对 namelist 里

的每个元素 name 对应的 Bean 对象 a 当中的元素 age 统一更新为 map 里 age 对应的内容


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM