Db.batchSave 批量添加问题

在使用 Db.batchSave 时发现,比如list里面有多个record对象,但其中一个record对象比其他的对象多个一个字段,这个字段也是数据库里面的字段,保存的时候由于其他的record没有这个字段,也会导致其中一个record多出的字段保存不进去数据库。

评论区

JFinal

2020-11-23 17:00

注意看 batchSave 方法上的注释, 生成的插入 sql 是以第一个 record/model 对象里头的字段为蓝本

所以,所有后续对象都要与第一个对象一样的字段数量与字段名

jfinal爱好者22

2020-11-23 17:12

杜福忠

2020-11-23 17:50

如果不确定record里面字段的话,建议sql指明字段
String sql = "insert into user(name, cash) values(?, ?)";
int[] result = Db.use().batch(sql, "name, cash", list, 500);
这样子写比较方便。
PS一个小优化操作:http://www.jfinal.com/share/2300

jfinal爱好者22

2020-11-23 17:56

@杜福忠 嗯嗯,好的。谢谢