如果数据量大的话,需要分批插入数据库
java代码:
//所有数据
List<Map<String, String>> teacherList = teacherMapper.getTeacher();
//接数据的临时集合
List list = new ArrayList();
for (Map<String, String> teacher : teacherList) {
String jgh = teacher.get("id");
String zp = teacher.get("name");
//将数据放到临时集合中
if (zp != null) {
list.add(jgh);
}
}
//分批次插入数据库(300条插入一次)
for (int i = 0; i < list.size(); i += 300) {
int length = i + 300;
//限制截取数据的总长度
if (length > list.size()) {
length = list.size();
}
//每300条数据 截取一次
List newList = list.subList(i, length);
//执行数据库操作
teacherMapper.updateById(newList);
}
mybatis代码:
update操作:
<!--批量update数据-->
<update id="updateById">
<foreach collection="newList" item="item" separator=";">
UPDATE base_jiaozhigong
SET zp = NULL
WHERE jgh = #{item}
</foreach>
</update>