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 相关文章推荐
Springboot如何使用logback实现多环境配置?
Jun 16 Java/Android
spring项目中切面及AOP的使用方法
Jun 26 Java/Android
Java并发编程必备之Future机制
Jun 30 Java/Android
Java Kafka 消费积压监控的示例代码
Jul 01 Java/Android
JavaCV实现照片马赛克效果
Jan 22 Java/Android
springboot 自定义配置 解决Boolean属性不生效
Mar 18 Java/Android
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
Apr 13 Java/Android
Android在Sqlite3中的应用及多线程使用数据库的建议
Apr 24 Java/Android
Java 多态分析
Apr 26 Java/Android
Java中的Kotlin 内部类原理
Jun 16 Java/Android
Java Spring Boot请求方式与请求映射过程分析
Jun 25 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
Jun 28 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
给海燕B411配件机起死回生配上件
2021/03/02 无线电
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
PHP 5.0对象模型深度探索之类的静态成员
2008/03/27 PHP
php下通过POST还是GET来传值
2008/06/05 PHP
php学习之流程控制实现代码
2011/06/09 PHP
PHP中ltrim与rtrim去除左右空格及特殊字符实例
2016/01/07 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
模仿百度三维地图的js数据分享
2011/05/12 Javascript
JS等比例缩小图片尺寸的实例
2013/02/27 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
解决vue打包 npm run build-test突然不动了的问题
2020/11/13 Javascript
python模拟表单提交登录图书馆
2018/04/27 Python
Python实现的矩阵转置与矩阵相乘运算示例
2019/03/26 Python
如何利用CSS3制作3D效果文字具体实现样式
2013/05/02 HTML / CSS
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
美国半成品食材配送服务商:Home Chef
2018/01/25 全球购物
值传递还是引用传递
2015/02/08 面试题
大学生应聘自荐信
2013/10/11 职场文书
机修工工作职责
2014/02/21 职场文书
新闻学专业求职信
2014/07/28 职场文书
运动会广播稿150字(9篇)
2014/09/20 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
师德师风学习材料
2014/12/19 职场文书
三方合作意向书范本
2015/05/09 职场文书
高中物理教学反思
2016/02/19 职场文书
Python内置的数据类型及使用方法
2022/04/13 Python
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS