MyBatis 批量更新

2021-08-31 09:48:24 字數 1226 閱讀 5168

mybatis 實現批量更新語法如下

提供乙個指定名稱的列表

void

sortsurveyquestions

(@param

("questions"

) list

questions)

;

通過標籤實現 mysql 的case-when語法

注意語法的字首case propertyname放置在標籤的open屬性中,尾綴則放置在close屬性中,同時separator屬性中存在乙個宮格

<

update id=

"sortsurveyquestions"

>

update

pt_survey_question

setindexno =

"questions"

index

="index" item=

"question" separator=

" "open

="case id"

close

="end"

>

when

# then #

<

/foreach>

where

id in

"questions"

index

="index" item=

"question" separator=

","open

="("

close

=")"

>

#<

/foreach>

<

/update

>

update

pt_survey_question

set indexno =

case id

when

1then

0when

2then

1when

3then

2where

id in(1

,2,3

)

Mybatis批量更新

mybatis批量更新 批量操作就不進行贅述了。減少伺服器與資料庫之間的互動。網上有很多關於批量插入還有批量刪除的帖子。但是批量更新卻沒有詳細的解決方案。這裡主要講的是1張table中。根據不同的id值,來update不同的property。資料表 1張。tblsupertitleresult。錯題...

mybatis 批量更新

mybatis批量更新 批量操作就不進行贅述了。減少伺服器與資料庫之間的互動。網上有很多關於批量插入還有批量刪除的帖子。但是批量更新卻沒有詳細的解決方案。這裡主要講的是1張table中。根據不同的id值,來update不同的property。資料表 1張。tblsupertitleresult。錯題...

MyBatis批量更新

批量更新時一條記錄update一次,效能比較差,容易造成阻塞。mysql沒有提供直接的方法來實現批量更新,但可以使用case when語法來實現這個功能。update course set name case id when 1 then name1 when 2 then name2 when 3...