進(jìn)行Update操作時,會將未指定的字段更新為0?
DEBUG==>? Preparing: UPDATE company SET age=?, address=?, salary=? WHERE id = ??
DEBUG==> Parameters: 12(Integer), 湖南(String), 0(Integer), 20(Integer)
DEBUG<==? ? Updates: 1
影響記錄數(shù): 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("影響記錄數(shù):?"?+?update); }
2020-07-26
我懷疑是你的salary屬性,沒用引用類型,使用的是基本數(shù)據(jù)類型,基本數(shù)據(jù)類型作為成員變量,默認(rèn)值是0。而引用類型,默認(rèn)值是null。
2020-07-15
因為你傳的那個companyPojo 沒有把salary原來的值設(shè)值進(jìn)去,所以他默認(rèn)你的salary要更新為null,然后可能是你默認(rèn)的salary是0,所以就給你更新成0了。最好是companyPojo這個替換成null,然后lambdaUpdateWrapper那邊用set去作更新。
這樣你的salary就不會受影響
2020-07-14
salary字段代碼實體中并未指定更新為0。。sql語句中卻將salary更新成0,,這是為啥鴨??