在项目中难免会遇到需要批量新增的场景;单条循环插入太过浪费时间及资源。
以下是基于SpringBoot + mybatis + mysql 批量新增示例。
实现类
其中 consList 为新增的实体类或map的集合。
private void dealWithConsumeList(String dealDate, Map<String, Object> map, List<TestListBean> parseArray) {
List<TestData > consList = new ArrayList<TestData >();
for (TestListBean testBean : parseArray) {
TestData data = new TestData();
data.setTranDt(dealDate);
data.setTranTp("类型");
consList.add(data);
}
testMapper.insertForList(consList);
}
TestMapper.java
@Mapper
public interface TestMapper{
int insertForList(List<ConsumeData> list);
}
mybatis 配置文件
其中 item 为 实体类或map的别名;
<insert id="insertForList" parameterType="java.util.List">
insert into test_data
(
tranDt, tranTp
)
values
<foreach collection="list" item="item" separator=",">
(
#{item.tranDt,jdbcType=VARCHAR}, #{item.tranTp}
)
</foreach>
</insert>
按照上述配置即可完成批量新增的操作。
如有错误,请在下方评论,或与本人联系。