Db.batchSave-批量导入

使用Db.save保存Record时可以设置主键,使用Db.batchSave保存list<Record>不可以设置主键,显示 :索引中丢失  IN 或 OUT 参数:: 10

ps同样的代码一个save保存设置主键可以,batchsave保存不行

评论区

CliveNo.1

2019-05-31 15:35

也就是批量导入Record,主键从序列中获取。

JFinal

2019-05-31 21:40

贴一点实际的代码出来,目前的信息量无明确感知

CliveNo.1

2019-06-03 11:11

ArrayList recordList = new ArrayList();
record.set("ID", "SEQ_N.nextval"); //这个序列没有对应的model因为此处表为动态创建
Db.batchSave(tableName, recordList,1000); //此处没有方法能指定主键类似于Db.save(tableName, primaryKey, record);

JFinal

2019-06-03 11:47

@CliveNo.1 batch 系的方法确实不支持序列,社区有一个分享可以支持,可以搜索一下

JFinal

2019-06-03 11:50

@CliveNo.1 大致方法是通过继承 DbPro, 覆盖掉 batchSave 方法,然后里面添加序列的判断,在我的个人收藏中还真找到了:
http://www.jfinal.com/share/1601

CliveNo.1

2019-06-03 13:55

@JFinal 非常感谢

热门反馈

扫码入社