Mybatis批量更新詳解

2021-09-07 14:34:10 字數 1496 閱讀 9220

**

mybatis批量更新

批量操作就不進行贅述了。減少伺服器與資料庫之間的互動。網上有很多關於批量插入還有批量刪除的帖子。但是批量更新卻沒有詳細的解決方案。

這裡主要講的是1張table中。根據不同的id值,來update不同的property。

資料表:1張。tblsupertitleresult。錯題結果統計。

表結構:

表中每一條資料必須通過兩個欄位來確定:userhhcode+titleid

需要批量更新的字段是:correctdate,result,checkstate。

我用的資料庫是mysql。其他資料庫的sql語句也都大同小異。

sql:

update tblsupertitleresult set result =case

when (userhhcode=2001 and titleid=1)then  90

when (userhhcode=2001 and titleid=2)then  70

end,checkstate = case 

when (userhhcode=2001 and titleid=1)then  80

when (userhhcode=2001 andtitleid=2)then  120

endwhere (userhhcode=2001 and titleid=1) or(userhhcode=2001 and titleid=2)

關於這個批量更新的sql語句做乙個簡單的解釋。

要更新userhhcode=2001,titleid=1和userhhcode=2001 ,titleid=2的兩條資料。

當userhhcode=2001,titleid=1時,將result設定為90,checkstate設定為80

當userhhcode=2001,titleid=2時,將result設定為80,checkstate設定為120.

這裡,首先介紹實體類。

public classwrongtitle  and titleid=#) then #

when (userhhcode=# and titleid=#) then #

when (userhhcode=# and titleid=#) then #

where

(userhhcode =# andtitleid=#)

接下來就是dao:

public inte***cedatacenterdao

執行結果截圖:

希望能幫助到大家~。~

***************=

親測可用,但是不知道效率到底如何。

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