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项目中控制台日志的保存配置操作
Jun 18 Java/Android
Java数据结构之链表相关知识总结
Jun 18 Java/Android
Java新手教程之ArrayList的基本使用
Jun 20 Java/Android
SpringBoot整合RabbitMQ的5种模式实战
Aug 02 Java/Android
Java中CyclicBarrier和CountDownLatch的用法与区别
Aug 23 Java/Android
SpringDataJPA在Entity中常用的注解介绍
Dec 06 Java/Android
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
Mar 21 Java/Android
剑指Offer之Java算法习题精讲二叉树专项训练
Mar 21 Java/Android
springboot入门 之profile设置方式
Apr 04 Java/Android
Spring Boot接口定义和全局异常统一处理
Apr 20 Java/Android
Android Gradle 插件自定义Plugin实现注意事项
Jun 16 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
PHP与MySQL交互使用详解
2006/10/09 PHP
腾讯QQ php程序员面试题目整理
2010/06/08 PHP
数据库中排序的对比及使用条件详解
2012/02/23 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
2017/09/22 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
使用JavaScript开发IE浏览器本地插件实例
2015/02/18 Javascript
jquery带翻页动画的电子杂志代码分享
2015/08/21 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
js实现PC端根据IP定位当前城市地理位置
2017/02/22 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
Seajs源码详解分析
2019/04/02 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
[02:43]2014DOTA2国际邀请赛 官方Alliance战队纪录片
2014/07/14 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
css3实现3d旋转动画特效
2015/03/10 HTML / CSS
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
公务员职业生涯规划书范文  
2014/01/19 职场文书
四群教育工作实施方案
2014/03/26 职场文书
对领导班子的意见和建议
2015/06/08 职场文书
医院消毒隔离制度
2015/08/05 职场文书
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android