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 相关文章推荐
分析Netty直接内存原理及应用
Jun 14 Java/Android
详解java如何集成swagger组件
Jun 21 Java/Android
详解Java实现设计模式之责任链模式
Jun 23 Java/Android
解决SpringCloud Feign传对象参数调用失败的问题
Jun 23 Java/Android
Java SSH 秘钥连接mysql数据库的方法
Jun 28 Java/Android
Java使用Unsafe类的示例详解
Sep 25 Java/Android
Java9新特性对HTTP2协议支持与非阻塞HTTP API
Mar 16 Java/Android
Java实现二分搜索树的示例代码
Mar 17 Java/Android
剑指Offer之Java算法习题精讲二叉树专项训练
Mar 21 Java/Android
Spring Boot 底层原理基础深度解析
Apr 03 Java/Android
Java的Object类的九种方法
Apr 13 Java/Android
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
Apr 24 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
《星际争霸》各版本雷兽特点图文解析 雷兽不同形态一览
2020/03/02 星际争霸
PHPMailer 中文使用说明小结
2010/01/22 PHP
php文件操作相关类实例
2015/06/18 PHP
JS使用getComputedStyle()方法获取CSS属性值
2014/04/23 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
jquery获取form表单input元素值的简单实例
2016/05/30 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
2016/10/17 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
2018/04/03 Javascript
JS字典Dictionary类定义与用法示例
2019/02/01 Javascript
laydate只显示时分 不显示秒的功能实现方法
2019/09/28 Javascript
Python实现基于HTTP文件传输实例
2014/11/08 Python
简单谈谈Python中的闭包
2016/11/30 Python
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
python模块之paramiko实例代码
2018/01/31 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
深入分析python中整型不会溢出问题
2018/06/18 Python
Django中create和save方法的不同
2019/08/13 Python
浅谈anaconda python 版本对应关系
2020/10/07 Python
python自动生成证件号的方法示例
2021/01/14 Python
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
大学生毕业求职的自我评价
2013/09/29 职场文书
母亲80寿诞答谢词
2014/01/16 职场文书
应聘编辑自荐信范文
2014/03/12 职场文书
冬季施工防火方案
2014/05/17 职场文书
机关保密承诺书
2014/06/03 职场文书
指导老师鉴定意见
2015/06/05 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
windows系统搭建WEB服务器详细教程
2022/08/05 Servers