分割list 批量插入数据指定条数数据

一、代码层面切割好list,然后插入

复制代码
// package org.apache.commons.collections4; 先将list切成1000条一份
List<List<DeptDO>> p1 = ListUtils.partition(deptList, 1000);
for (List<DeptDO> deptDOS : p1) {
// 1000条一次批量插入
      systemDeptMapper.insertBatch(deptDOS);
}

二、使用mybatisplus批量插入方法

复制代码
    /**
     * 插入(批量)
     *
     * @param entityList 实体对象集合
     */
    public static <T> boolean saveBatch(Collection<T> entityList) {
        return saveBatch(entityList, IService.DEFAULT_BATCH_SIZE);
    }

    /**
     * 插入(批量)
     *
     * @param entityList 实体对象集合
     * @param batchSize  插入批次数量
     */
    public static <T> boolean saveBatch(Collection<T> entityList, int batchSize) {
        if (CollectionUtils.isEmpty(entityList)) {
            return false;
        }
        Class<T> entityClass = getEntityClass(entityList);
        Class<?> mapperClass = ClassUtils.toClassConfident(getTableInfo(entityClass).getCurrentNamespace());
        String sqlStatement = SqlHelper.getSqlStatement(mapperClass, SqlMethod.INSERT_ONE);
        return SqlHelper.executeBatch(entityClass, LogFactory.getLog(Db.class), entityList, batchSize, (sqlSession, entity) -> sqlSession.insert(sqlStatement, entity));
    }
相关推荐
消失的旧时光-19435 分钟前
ScheduledExecutorService
android·java·开发语言
勇闯逆流河6 分钟前
【C++】用红黑树封装map与set
java·开发语言·数据结构·c++
SpiderPex27 分钟前
论MyBatis和JPA权威性
java·mybatis
小猪咪piggy43 分钟前
【微服务】(1) Spring Cloud 概述
java·spring cloud·微服务
lkbhua莱克瓦241 小时前
Java基础——面向对象进阶复习知识点8
java·笔记·github·学习方法
m0_736927041 小时前
Spring Boot自动配置与“约定大于配置“机制详解
java·开发语言·后端·spring
GL-Yang2 小时前
2025年-集合类面试题
java·面试
你不是我我2 小时前
【Java 开发日记】我们来说一说 Redisson 的原理
java·开发语言
李憨憨2 小时前
Java处理大型 Excel 文件(超过 100 万行)难题
java
老K的Java兵器库2 小时前
Collections 工具类 15 个常用方法源码:sort、binarySearch、reverse、shuffle、unmodifiableXxx
java·开发语言·哈希算法