MyBatis-Plus 批量插入数据的操作方法


Posted in Java/Android onSeptember 25, 2021

spring boot+mybatis plus环境,单条插入用的是BaseMapper自带的insert方法

public ApiResult addAnc(Anc anc) {
        ApiResult result = new ApiResult();
      
        Integer insert = ancMapper.insert(anc);
        if (insert < 1) {
            return result.failed("发布失败,请联系管理员");
        }
        return result.success(anc);

BaseMapper未提供批量插入接口,但是在com.baomidou.mybatisplus.service.IService中提供了

/**
     * <p>
     * 插入(批量),该方法不适合 Oracle
     * </p>
     *
     * @param entityList 实体对象列表
     * @return boolean
     */
    boolean insertBatch(List<T> entityList);

    /**
     * <p>
     * 插入(批量)
     * </p>
     *
     * @param entityList 实体对象列表
     * @param batchSize  插入批次数量
     * @return boolean
     */
    boolean insertBatch(List<T> entityList, int batchSize);

使用方法,定义一个自己的接口,继承IService,泛型为被操作实体类

@Service
public  interface  WorkIService extends IService<CmpWork> {

}

定义一个实现类,实现上诉接口

@Service
public class WorkIServiceImpl extends ServiceImpl<WorkMapper, CmpWork> implements WorkIService{
}

其中WorkMapper为正常操作的mapper

在业务中测试批量插入操作

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);

和单条插入的执行对比了一下,在1000条数据级别内,差别不大,批量操作的优势可能大数据环境下才能显现吧

到此这篇关于MyBatis-Plus 批量插入的文章就介绍到这了,更多相关MyBatis-Plus 批量插入内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
Java实战之用Swing实现通讯录管理系统
Jun 13 Java/Android
jackson json序列化实现首字母大写,第二个字母需小写
Jun 29 Java/Android
Logback 使用TurboFilter实现日志级别等内容的动态修改操作
Aug 30 Java/Android
logback如何自定义日志存储
Aug 30 Java/Android
解析mybatis-plus中的resultMap简单使用
Nov 23 Java/Android
java executor包参数处理功能 
Feb 15 Java/Android
Android超详细讲解组件ScrollView的使用
Mar 31 Java/Android
Java字符缓冲流BufferedWriter
Apr 09 Java/Android
Java线程的6种状态与生命周期
May 11 Java/Android
Spring中的@Transactional的工作原理
Jun 05 Java/Android
SpringBoot接入钉钉自定义机器人预警通知
Jul 15 Java/Android
maven 解包依赖项中的文件的解决方法
Jul 15 Java/Android
spring cloud 配置中心native配置方式
Sep 25 #Java/Android
spring cloud 配置中心客户端启动遇到的问题
Sep 25 #Java/Android
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
Sep 25 #Java/Android
java如何实现socket连接方法封装
Sep 25 #Java/Android
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 #Java/Android
使用springMVC所需要的pom配置
Sep 15 #Java/Android
You might like
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
2012/08/09 PHP
phpmailer中文乱码问题的解决方法
2014/04/22 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
php数据访问之查询关键字
2016/05/09 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
2020/04/26 PHP
jquery 日期分离成年月日的代码
2010/05/14 Javascript
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
js中javascript:void(0) 真正含义
2020/11/05 Javascript
JavaScript html5 canvas绘制时钟效果(二)
2016/03/27 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
深入理解Node.js中的进程管理
2017/03/13 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
微信小程序左右滑动的实现代码
2017/12/15 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
2018/09/05 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
Python二叉树的镜像转换实现方法示例
2019/03/06 Python
Python函数式编程实例详解
2020/01/17 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
个人工作表现评价材料
2014/09/21 职场文书
教师党的群众路线对照检查材料
2014/09/24 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
我爱我班主题班会
2015/08/13 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python