Db.batchSave(String tableName, List recordList, int batchSize)存在缺陷

111.png

这个问题我第二次遇到了,批量插入的时候是以list里的第一个元素字段的非空列作为插入字段,如果第一个元素A字段为空,后面所有元素的A字段插入后就都为空,这个隐藏得比较深,不注意容易在数据上踩坑


评论区

JFinal

2019-04-04 17:05

注意看方法头部的说明:
Batch save models using the "insert into ..." sql generated by the first model in modelList.
Ensure all the models can use the same sql as the first model.

生成 insert into .... 这条 sql 时,必须要以一个 model 作为模板,取第一个 model 是最合适的

JDBC 的 batch 操作提升性能的核心之一就是多条数据共用同一条 sql

如果多条数据不能共用同一个 sql 的话,那就不是 batch 的场景,不能使用 batch 系的方法

热门反馈

扫码入社