MyBatis 批量更新 MySQL 表:使用 foreach 标签高效更新多条数据
使用 MyBatis 进行批量更新时,可以使用动态 SQL 的 foreach 标签来循环更新多条数据。
首先,需要创建一个实体类来映射数据库表的字段,例如:
public class MyTable {
private Integer instid;
private Date ts;
private Double o;
private Double h;
private Double l;
private Double c;
private Integer vol;
private Boolean confirm;
private Double k5;
private Double k10;
private Double k20;
private Double k40;
// 省略 getter 和 setter 方法
}
然后,在 MyBatis 的 Mapper 接口中定义一个批量更新的方法,例如:
public interface MyTableMapper {
void batchUpdate(List<MyTable> myTableList);
}
接下来,在对应的 Mapper XML 文件中,使用 foreach 标签来循环更新数据,例如:
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
UPDATE my_table SET
ts = #{item.ts},
o = #{item.o},
h = #{item.h},
l = #{item.l},
c = #{item.c},
vol = #{item.vol},
confirm = #{item.confirm},
k5 = #{item.k5},
k10 = #{item.k10},
k20 = #{item.k20},
k40 = #{item.k40}
WHERE instid = #{item.instid}
</foreach>
</update>
最后,在代码中调用批量更新方法:
public void batchUpdate(List<MyTable> myTableList) {
myTableMapper.batchUpdate(myTableList);
}
以上就是使用 MyBatis 进行批量更新的步骤。在批量更新时,可以将多条数据封装成一个 List,然后通过 foreach 标签循环更新每一条数据的字段。
原文地址: https://www.cveoy.top/t/topic/qojy 著作权归作者所有。请勿转载和采集!