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...