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>

相关推荐
Boilermaker19929 小时前
[Java 并发编程] Synchronized 锁升级
java·开发语言
Cherry的跨界思维10 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
alonewolf_9910 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子10 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
sheji341610 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
恋爱绝缘体111 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wszy180911 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
wszy180912 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
程序员小假12 小时前
我们来说一下无锁队列 Disruptor 的原理
java·后端
资生算法程序员_畅想家_剑魔13 小时前
Kotlin常见技术分享-02-相对于Java 的核心优势-协程
java·开发语言·kotlin