spring 微服務,用的通用mybaits,在儲存編輯的時候報錯target must not be null,僅僅為了自己而記錄一下

zengweidaren發表於2020-11-25

業務要求就是一個簡單的增改業務,儲存資料時要求資料根據幾個欄位A,B,C判斷此資料的唯一性,重複則更新,無則儲存,保證A,B,C的一條資料在表裡的唯一性。

//我就大致手寫一下意思

@Autowired

private 物件AService  物件Aservice;

public Map<boolean,String> insertOrUpdate(物件A  物件1){

try{

   物件A 物件2=new 物件A();

  物件2.setA(物件1.getA);

  物件2.setB(物件1.getB);

  物件2.setC(物件1.getC);

 List<物件A> list=物件Aservice.select(物件2);

if(list !=null && list.size>0){

  for(物件A dxa:list){

     物件Aservice.delete(dxa);

  }

}

/*

這個的save就報了target must not be null錯誤,為何呢,明顯就是因為我們用了save方法,我為了保證資料的唯一性,查出資料後果斷的將資料刪除,插入新的資料,自以為

機智的一逼的我卻忘記了save方法是如果物件中有主鍵ID,會先執行查詢,然後更新!只有當ID不存在時,save方法才會執行插入。而insert方法就是單純的插入方法,生活中的小細節

往往是致命滴,僅以此篇記錄為腦殘的青春

*/

//物件Aservice.save(物件1);

物件Aservice.insert(物件1);

}catch(Exception e){

   return map(false,"儲存失敗");

}

  return map(true,"儲存成功");

}

相關文章