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接下來就是dao:classwrongtitle and titleid=#) then #
if>
when (userhhcode=# and titleid=#) then #
if>
when (userhhcode=# and titleid=#) then #
if>
where
(userhhcode =# andtitleid=#)
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...