mybaits批量更新的幾種方法

2021-09-24 12:47:21 字數 1350 閱讀 6649

update shop_manager set marketing_category = # where id=#
**示例:

update shop_manager

marketing_category=#

where entity_id = $

mybatis沒有直接提供批量更新的語句但是我們可以利用mysql的case…when…then…end語句,如下sql:

update shop_manager

set marketing_category = (

case entity_id

when 1

then 3

when 2

then 4

end)where entity_id in(1,2)

注意沒有where 會講故事表都遍歷一遍

對比下執行時間(shop_manager 表裡面只有7條資料)

看到如果沒有where,影響了全表的資料

上訴sql轉化成mybatis語句:

update shop_manager

set marketing_category =(

case entity_id

when # then #

end),

op_time = #

where entity_id in

#

還可以使用實現

update shop_manager

when entity_id=# then #

op_time = #

where entity_id in

#

上面兩種生成方式生成的slq結果是一樣的。

屬性說明

1.prefix,suffix 表示在trim標籤包裹的部分的前面或者後面新增內容

2.如果同時有prefixoverrides,suffixoverrides 表示會用prefix,suffix覆蓋overrides中的內容。

3.如果只有prefixoverrides,suffixoverrides 表示刪除開頭的或結尾的***overides指定的內容。

批量匯入 更新 資料的幾種方法

在工作中經常遇到要匯入資料的場景。1 匯入全新的資料 2 匯入的資料中庫中可能已經存在,已經存在的資料不能覆蓋,不能變更 3 匯入的資料中庫中可能已經存在,已經存在的資料主鍵等不能變化,同時需要更新這些資料的一些字段 比如 積分字段 第一種最簡單,最坑爹的是第三種了。新手碰到這種問題往往一籌莫展,能...

php批量新增資料與批量更新資料的實現方法

php如果要批量儲存資料我們只要使用sql的insert into語句就可能實現資料批量儲存了,如果是更新資料使用update set就可以完成更新了,操作方法都非常的簡單,下面整理兩個例子.批量資料錄入 設計方法 同時提交多條表單記錄,為每一條記錄設定相同的文字網域名稱稱,然後在表單處理頁中,通過...

hibernate的批量更新 批量刪除

hibernate的批處理api session.createquery hql executeupdate 如果有引數則在執行之前設定引數。批量更新示例 test public void testbatchupdate 批量刪除示例 test public void testbatchdelete...