在 Mybatis 中,可以使用
标签来实现批处理操作。以下是一个示例:
首先,在 Mapper XML 文件中定义一个 foreach 标签,如下所示:
INSERT INTO table_name (column1, column2) VALUES (#{item.column1}, #{item.column2})
然后在 Java 代码中调用该方法,并传入一个 List 参数,如下所示:
Listlist = new ArrayList<>(); // 填充 list try (SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH)) { MyMapper mapper = sqlSession.getMapper(MyMapper.class); mapper.batchInsert(list); sqlSession.commit(); }
在这个例子中,我们通过
标签将 List 中的对象批量插入到数据库中。注意,在调用batchInsert
方法之前,需要将SqlSession
设置为ExecutorType.BATCH
,以确保开启批处理模式。
需要注意的是,在使用 foreach 标签进行批处理时,要确保数据库支持批处理操作,否则可能会造成性能问题。