使用List更新SQL数据库 - Java和MyBatis

时间:2015-07-01 08:41:49

标签: java sql performance oop mybatis

是否可以在MyBatis中插入列表?

这是Java代码:

emplace_back

如果可能的话,MyBatis代码是什么?

@Override
    public void createSubjectPrivileges(final List<SubjectPrivilegesFormDTO> subjectPrivilegesFormDTOList) {
        this.auditingSqlSession.update("createSubjectPrivileges",3,subjectPrivilegesFormDTOList);
    }

我总是可以在Java中遍历列表并每次插入一个,但从我的角度来看,这在性能方面并不是很好。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以在mybatis中使用动态sql生成facilities来生成将插入列表的语句,但这不是一个好方法。

在java中执行循环并使用BatchExecutor是一种recommended方式进行批处理操作。批处理执行程序使用JDBC批处理,从而消除了对数据库的多次往返。另一个好处是使用了预处理语句,如果与包含多个插入的大型生成语句相比,这会使语句更快。