MyBatis-Plus 批量插入數(shù)據(jù)的操作方法
spring boot+mybatis plus環(huán)境,單條插入用的是BaseMapper自帶的insert方法
public ApiResult addAnc(Anc anc) {
ApiResult result = new ApiResult();
Integer insert = ancMapper.insert(anc);
if (insert < 1) {
return result.failed("發(fā)布失敗,請聯(lián)系管理員");
}
return result.success(anc);
BaseMapper未提供批量插入接口,但是在com.baomidou.mybatisplus.service.IService中提供了
/**
* <p>
* 插入(批量),該方法不適合 Oracle
* </p>
*
* @param entityList 實(shí)體對象列表
* @return boolean
*/
boolean insertBatch(List<T> entityList);
/**
* <p>
* 插入(批量)
* </p>
*
* @param entityList 實(shí)體對象列表
* @param batchSize 插入批次數(shù)量
* @return boolean
*/
boolean insertBatch(List<T> entityList, int batchSize);
使用方法,定義一個自己的接口,繼承IService,泛型為被操作實(shí)體類
@Service
public interface WorkIService extends IService<CmpWork> {
}
定義一個實(shí)現(xiàn)類,實(shí)現(xiàn)上訴接口
@Service
public class WorkIServiceImpl extends ServiceImpl<WorkMapper, CmpWork> implements WorkIService{
}
其中WorkMapper為正常操作的mapper
在業(yè)務(wù)中測試批量插入操作
List<CmpWork> entityList = new ArrayList<>(1000);
for (int i=1;i<10000;i++){
CmpWork work = new CmpWork();
work.setWorkName("workNametestBatch"+i);
work.setWorkID("testBatch"+i);
work.setCreTm(DateUtil.dateToYMDHMS(new Date()));
entityList.add(work);
}
boolean b = workIService.insertBatch(entityList);
和單條插入的執(zhí)行對比了一下,在1000條數(shù)據(jù)級別內(nèi),差別不大,批量操作的優(yōu)勢可能大數(shù)據(jù)環(huán)境下才能顯現(xiàn)吧
到此這篇關(guān)于MyBatis-Plus 批量插入的文章就介紹到這了,更多相關(guān)MyBatis-Plus 批量插入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 中如何使用 JavaFx 庫標(biāo)注文本顏色
這篇文章主要介紹了在 Java 中用 JavaFx 庫標(biāo)注文本顏色,在本文中,我們將了解如何更改標(biāo)簽的文本顏色,并且我們還將看到一個必要的示例和適當(dāng)?shù)慕忉?,以便更容易理解該主題,需要的朋友可以參考下2023-05-05
Spring?Data?JPA框架的核心概念與Repository接口詳解
Spring?Data?JPA是Spring基于JPA規(guī)范的基礎(chǔ)上封裝的?套?JPA?應(yīng)?框架,可使開發(fā)者?極簡的代碼即可實(shí)現(xiàn)對數(shù)據(jù)庫的訪問和操作,本篇我們來了解Spring?Data?JPA框架的核心概念與Repository接口2022-04-04
IDEA創(chuàng)建Servlet編寫HelloWorldServlet頁面詳細(xì)教程(圖文并茂)
在學(xué)習(xí)servlet過程中參考的教程是用eclipse完成的,而我在練習(xí)的過程中是使用IDEA的,在創(chuàng)建servlet程序時遇到了挺多困難,在此記錄一下,這篇文章主要給大家介紹了關(guān)于IDEA創(chuàng)建Servlet編寫HelloWorldServlet頁面詳細(xì)教程的相關(guān)資料,需要的朋友可以參考下2023-10-10
在Spring?Boot使用Undertow服務(wù)的方法
Undertow是RedHAT紅帽公司開源的產(chǎn)品,采用JAVA開發(fā),是一款靈活,高性能的web服務(wù)器,提供了NIO的阻塞/非阻塞API,也是Wildfly的默認(rèn)Web容器,這篇文章給大家介紹了在Spring?Boot使用Undertow服務(wù)的方法,感興趣的朋友跟隨小編一起看看吧2023-05-05
mybatisplus根據(jù)條件只更新一個字段的實(shí)現(xiàn)
MyBatis-Plus提供使用update方法結(jié)合Wrapper來指定更新條件和要更新的字段,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-12-12
springboot使用redisTemplate操作lua腳本
本文主要介紹了springboot使用redisTemplate操作lua腳本,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
解決spring cloud zuul與nginx的域名轉(zhuǎn)發(fā)問題
這篇文章主要介紹了spring cloud zuul與nginx的域名轉(zhuǎn)發(fā)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

