關於mybatis的批量修改

2021-09-02 12:03:46 字數 1154 閱讀 8848

listproductskulist = new arraylist();

//商品sku物件

productskuvo productskuvo = null;

for (int i = 0; i < jsonarray.size(); i++)

productskuvo = new productskuvo();

productskuvo.setsku_id(skuid);

productskuvo.setstock_num(stocknum);

productskulist.add(productskuvo);

}mapparameter = new hashmap();

parameter.put("parameters", productskulist);

//迴圈update,回歸庫存

int count=productskuservice.modifyproductskubyid(parameter);

if(count == jsonarray.size())else

public int modifyproductskubyid(mapmap)

update

biz_product_sku

set stock_num = case

when sku_id = # then stock_num + #

endwhere sku_id in

#

我這邊是將list集合放到了map裡面,然後通過鍵值對的方式用parameters 來批量修改,但我總覺得這段**寫的有問題,看看sql,能不能直接傳乙個list過去呢?好吧,我來試試..

7月22日:今天在測試這個功能的時候發現乙個問題,當where條件相同的時候只能成功update乙個。上面的**中 假如有多個skuid是相同的那麼它只能成功修改乙個。我問了乙個朋友,他說一條sql滿足批量更新的操作,所以我更改了sql語句,如下;

update

biz_product_sku

stock_num=stock_num+#

where sku_id = #

MyBatis批量修改

oracle和mysql資料庫的批量update在mybatis中配置不太一樣 oracle資料庫 update test test 1 where id 當引數為map時,鍵值key為乙個字串,值value是乙個物件時 update tbldeviceinfo set theip theip re...

mybatis批量修改,批量新增

mybatis批量修改 批量新增sql語句 1 單個新增 insert into t user user name,mobile values 2 新增並返回主鍵 keyproperty的屬性是要返回的主鍵欄位的名稱 insert into t user user name,mobile value...

mybatis 批量新增修改

1 dao層 int addstoragebatch liststoragelist int updatestoragebatch param storagelist liststoragelist 2 xml檔案 usegeneratedkeys true keyproperty id inser...