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

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

求解!update數據后double和int類型的字段都變成0

按照老師的方法測試updateShouse(),按理應該只會修改非空項,沒有鍵入新值的應該保持不變,但我的數據表update后double和int類型的字段都變成了0,其他類型的就正常。為何??

代碼如下面截圖:

mapper.ShouseDao.xml :

https://img1.sycdn.imooc.com//5c9e383900014f7405600245.jpg


ShouseDaoTest.java :

https://img1.sycdn.imooc.com//5c9e38390001f00403990143.jpg


mysql :

https://img1.sycdn.imooc.com//5c9e38390001c9c211020419.jpg


正在回答

1 回答

好吧,最后這個問題還是讓我這個當事人自己解決了。

原因:double 和 int 類型的變量不能直接用 !=null 來判斷是否為空,當這兩種類型的變量沒有鍵入值(也就是為空時),會默認賦為0,所以會出現update數據后double和int類型的字段的值都變成0的情況。

解決:只要在mapper 里 的 .xml文件中所有double和int類型的字段(具體要看相應的數據表)用<if test="xxx>0">替代<if test="xxx !=null"> 即可達到相同效果。

注意,此處的<if test=" ">里不能用String.valueOf( ) 來把int 或 double 轉換成字符串,否則會出錯。

如圖:

https://img1.sycdn.imooc.com//5ca0257a0001a2d005470249.jpg


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

舉報

0/150
提交
取消

求解!update數據后double和int類型的字段都變成0

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

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

幫助反饋 APP下載

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

公眾號

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