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