MybatisPlus批量更新

2021-09-29 08:23:07 字數 653 閱讀 8077

1、我們使用mybatis批量更新時,通常是這樣的:

void batchupdatedemo(@param("list") listlist);
xml:

update `demo_table`

set a =

when # then #

b =when # then #

where id in

#

欄位少的時候可以接受 ,但是一多就emmm...

2、那麼mybatisplus可以解決這一痛點

mybatis-plus提供了

使用:

@autowired

demoserviceimpl cpservice;

public void mybatisplustest()

mybatis-plus安裝可以參考:

3、感興趣的同學可以看一下batchupdate的原始碼,底層還是使用了mybatis:

public boolean updatebatchbyid(collectionentitylist, int batchsize) 

i++;

}batchsqlsession.flushstatements();

}return true;

}

MybatisPlus批量更新

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

Mybatis Plus 下批量儲存比較

mybatis 1.前端用list post了同一張表的批量資料,可用阿里的fastjson外掛程式接收處理資料 com.alibaba fastjson 1.2.47 後端接收的時候如下處理 public object classname requestbody string body retur...

mybatis plus批量操作語句格式

insert into table1 name column1 column2 column3 columnn select column1 column2 column3 columnn from table2 name ch name,en name values set ch name en ...