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 相关文章推荐
MybatisPlus代码生成器的使用方法详解
Jun 13 Java/Android
详解Java实践之建造者模式
Jun 18 Java/Android
解决SpringBoot跨域的三种方式
Jun 26 Java/Android
springboot项目以jar包运行的操作方法
Jun 30 Java/Android
java基础——多线程
Jul 03 Java/Android
springboot集成springCloud中gateway时启动报错的解决
Jul 16 Java/Android
java多态注意项小结
Oct 16 Java/Android
springboot 自定义配置 解决Boolean属性不生效
Mar 18 Java/Android
Android开发之WECHAT微信小程序路由跳转的两种形式
Apr 12 Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 Java/Android
Java实现添加条码或二维码到Word文档
Jun 01 Java/Android
springboot集成redis存对象乱码的问题及解决
Jun 16 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文件锁定写入实例解析
2014/07/14 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
Javascript技术技巧大全(五)
2007/01/22 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)
2013/03/24 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
自己动手写的jquery分页控件(非常简单实用)
2015/10/28 Javascript
js实现文字垂直滚动和鼠标悬停效果
2015/12/31 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
JS实现iframe自适应高度的方法示例
2017/01/07 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
2017/05/08 jQuery
BootStrap Validator 根据条件在JS中添加或移除校验操作
2017/10/12 Javascript
react实现换肤功能的示例代码
2018/08/14 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
2021/01/29 Javascript
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python中使用urllib2模块编写爬虫的简单上手示例
2016/01/20 Python
Python排序算法实例代码
2017/08/10 Python
python 解决tqdm模块不能单行显示的问题
2020/02/19 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
创业的9条正确思考方式
2019/08/26 职场文书
Java spring单点登录系统
2021/09/04 Java/Android