我有一个名为VARS
的表,该表具有两列VAR_NAME
和VAR_TYPE
。我也有要插入此表的POJO列表。 POJO类称为Var
,具有两个字段,分别为varName
和varType
。
请注意,这些字段匹配,因此Jooq
可以派生并应用于插入内容。
当我尝试插入Vars列表时,出现编译错误:
InsertSetStep<VarsRecord> insert = create.insertInto(VARS);
for (Var var: vars) {
VarsRecord rec = new VarsRecord();
rec.from(var);
insert.set(rec);
}
insert.execute(); // <-- error here
错误:
该类型的方法execute()未定义 InsertSetStep
如何运行此插入?
应该使用什么代替InsertSetStep<VarsRecord>
?
我应该为每行执行一个insertInto
吗?
答案 0 :(得分:1)
请尝试避免DSL API as it might change in the next major release的历史性可变性。请改用DSLContext.batchInsert(Collection<? extends TableRecord>)
:
List<VarsRecord> list = new ArrayList<>(vars.size());
for (Var var : vars) {
VarsRecord rec = new VarsRecord();
rec.from(var);
list.add(rec);
}
create.batchInsert(list).execute();