亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

進行Update操作時,會將未指定的字段更新為0?

DEBUG==>? Preparing: UPDATE company SET age=?, address=?, salary=? WHERE id = ??

DEBUG==> Parameters: 12(Integer), 湖南(String), 0(Integer), 20(Integer)

DEBUG<==? ? Updates: 1

影響記錄數: 1

==================================================================================


@RequestMapping("/updateByLambdaWrapper")
public?void?updateByLambdaWrapper(){
????LambdaUpdateWrapper<CompanyPojo>?lambdaUpdateWrapper?=?new?LambdaUpdateWrapper<>();
????CompanyPojo?companyPojo?=?new?CompanyPojo();
????companyPojo.setAge(12);
????companyPojo.setAddress("湖南");
????lambdaUpdateWrapper.eq(CompanyPojo::getId,?20);
????int?update?=?companyMapper.update(companyPojo,?lambdaUpdateWrapper);
????System.out.println("影響記錄數:?"?+?update);

}


正在回答

3 回答

我懷疑是你的salary屬性,沒用引用類型,使用的是基本數據類型,基本數據類型作為成員變量,默認值是0。而引用類型,默認值是null。

0 回復 有任何疑惑可以回復我~

因為你傳的那個companyPojo 沒有把salary原來的值設值進去,所以他默認你的salary要更新為null,然后可能是你默認的salary是0,所以就給你更新成0了。最好是companyPojo這個替換成null,然后lambdaUpdateWrapper那邊用set去作更新。

lambdaUpdateWrapper.eq(CompanyPojo::getId,?20).setAddress("湖南").setAge(12);
?int?update?=?companyMapper.update(null,?lambdaUpdateWrapper);

這樣你的salary就不會受影響

0 回復 有任何疑惑可以回復我~

salary字段代碼實體中并未指定更新為0。。sql語句中卻將salary更新成0,,這是為啥鴨??

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

進行Update操作時,會將未指定的字段更新為0?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號