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>

相关推荐
bing_1585 分钟前
Spring MVC 中Model, ModelMap, ModelAndView 之间有什么关系和区别?
java·spring·mvc
2685725922 分钟前
JVM 监控
java·开发语言·jvm
promise52423 分钟前
JVM之jcmd命令详解
java·linux·运维·服务器·jvm·bash·jcmd
曼岛_31 分钟前
[Java实战]Spring Boot 静态资源配置(十三)
java·开发语言·spring boot
篱笆院的狗32 分钟前
MySQL 中如何进行 SQL 调优?
java·sql·mysql
随风奔跑的十八岁1 小时前
java 破解aspose.words 18.6 使用
java·linux·word转pdf·aspose-words
居然是阿宋1 小时前
C语言的中断 vs Java/Kotlin的异常:底层机制与高级抽象的对比
java·c语言·kotlin
sco52821 小时前
SpringBoot 自动装配原理 & 自定义一个 starter
java·spring boot·后端
曼岛_2 小时前
[Java实战]Spring Boot 快速配置 HTTPS 并实现 HTTP 自动跳转(八)
java·spring boot·http
_Itachi__2 小时前
LeetCode 热题 100 543. 二叉树的直径
java·算法·leetcode