用mybatis更新資料,當資料為0時,無法更新

2021-07-10 09:59:44 字數 976 閱讀 8360

在bean中,count是long型別:

private long count;
需求就是利用下面的更新語句更新bills表中的count和amout

update bills

count = #,

if>

amount = #,

if>

update_time = now()

set>

where

id = #

and

bill_date = to_date(#,'yyyy-mm-dd'))

問題出現了:

mapupdatemap = new hashmap();

updatemap .put("id", bills.getid());

updatemap .put("billdate",datestring);

updatemap .put("amount", bills.getamount());

updatemap .put("count",bills.getcount());

billsdao.updatebills(updatemap);

當bills.getcount()等於0時,就是無法更新,所以我不得不做了以下判斷,然後就有效的解決了這個問題,但是因為什麼呢?我也不知道!

mapupdatemap = new hashmap();

updatemap .put("id", bills.getid());

updatemap .put("billdate",datestring);

updatemap .put("amount", bills.getamount());

if(0 == bills.gethiscount())else

billsdao.updatebills(updatemap);

Mybatis批量更新資料

第一種方式 update aa set a b where c in foreach update 但是這種方式修改的字段值都是一樣的。第二種方式 修改資料庫連線配置 allowmultiqueries true 比如 jdbc mysql update test test 1 set where ...

Mybatis批量更新資料

第一種方式 update aa set a b where c in 但是這種方式修改的字段值都是一樣的。第二種方式 修改資料庫連線配置 allowmultiqueries true 比如 jdbc mysql allowmultiqueries true update test test 1 wh...

Mybatis批量更新插入資料

熊大最近發現乙個批量更新時不用迴圈欄位的更新,跟各位撰碼人分享分享。同為碼農深知碼農不易,勿入坑。好了咱們來說正事兒,來看看這條sql update mydata table set status when then where id in 這無非就是根據id批量修改了mydata table這張表...