是否可以在MyBatis中插入列表?
这是Java代码:
emplace_back
如果可能的话,MyBatis代码是什么?
@Override
public void createSubjectPrivileges(final List<SubjectPrivilegesFormDTO> subjectPrivilegesFormDTOList) {
this.auditingSqlSession.update("createSubjectPrivileges",3,subjectPrivilegesFormDTOList);
}
我总是可以在Java中遍历列表并每次插入一个,但从我的角度来看,这在性能方面并不是很好。
提前致谢。
答案 0 :(得分:1)
您可以在mybatis中使用动态sql生成facilities来生成将插入列表的语句,但这不是一个好方法。
在java中执行循环并使用BatchExecutor是一种recommended方式进行批处理操作。批处理执行程序使用JDBC批处理,从而消除了对数据库的多次往返。另一个好处是使用了预处理语句,如果与包含多个插入的大型生成语句相比,这会使语句更快。