Java 分批插入

public void saveBatchData(List<Student> list) {

int len = 0;

if(CollectionUtils.isNotEmpty(list)){

if(list.size()%400 == 0){

len = list.size()/200;

}else{

len = list.size()/200+1;

}

}

for(int i=0;i<len;i++) {

List<Student> lists = new ArrayList<>();

int max = 200 * (i + 1);

if (i == len - 1) {

max = list.size();

}

for (int j =200 * i; j < max; j++) {

Student stu = list.get(j);

stu.setDeletedFlag(0);

lists.add(stu);

}

studentDao.saveData(lists);

}

}

<insert id="saveData" parameterType="java.util.List">

INSERT INTO sys_student(

name,

created_staffId,

created_time,

modified_staffId,

modified_time,

deleted_flag

)VALUES

<foreach collection="list" item="item" index="index" separator=",">

(#{item.name},

#{item.createdStaffId},

#{item.createdTime},

#{item.modifiedStaffId},

#{item.modifiedTime},

#{item.deletedFlag})

</foreach>

</insert>

<update id="updateData" parameterType="java.util.List">

<foreach collection="list" item="item" index="index" separator=";">

UPDATE sys_student SET

name = #{item.name},

modified_staffId = #{item.modifiedStaffId},

modified_time = #{item.modifiedTime}

WHERE id = #{item.id}

</foreach>

</update>

相关推荐
Re.不晚2 分钟前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
雷神乐乐8 分钟前
Maven学习——创建Maven的Java和Web工程,并运行在Tomcat上
java·maven
码农派大星。12 分钟前
Spring Boot 配置文件
java·spring boot·后端
顾北川_野19 分钟前
Android 手机设备的OEM-unlock解锁 和 adb push文件
android·java
江深竹静,一苇以航21 分钟前
springboot3项目整合Mybatis-plus启动项目报错:Invalid bean definition with name ‘xxxMapper‘
java·spring boot
confiself37 分钟前
大模型系列——LLAMA-O1 复刻代码解读
java·开发语言
Wlq041542 分钟前
J2EE平台
java·java-ee
XiaoLeisj1 小时前
【JavaEE初阶 — 多线程】Thread类的方法&线程生命周期
java·开发语言·java-ee
豪宇刘1 小时前
SpringBoot+Shiro权限管理
java·spring boot·spring
Elaine2023911 小时前
02多线程基础知识
java·多线程