在MyBatis中進行批量插入操作可以通過使用MyBatis提供的foreach
標簽來實現。下面是一個示例:
Mapper
接口中定義一個方法來插入多個對象:public interface MyMapper {
void insertBatch(List<MyObject> myObjects);
}
Mapper
配置文件中編寫對應的insertBatch
方法的SQL語句:<insert id="insertBatch" parameterType="java.util.List">
insert into my_table (column1, column2) values
<foreach collection="list" item="item" separator=",">
(#{item.property1}, #{item.property2})
</foreach>
</insert>
insertBatch
方法并傳入要插入的對象列表:List<MyObject> myObjects = new ArrayList<>();
// 添加要插入的對象到myObjects中
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
MyMapper myMapper = sqlSession.getMapper(MyMapper.class);
myMapper.insertBatch(myObjects);
sqlSession.commit();
} finally {
sqlSession.close();
}
通過以上步驟,就可以使用MyBatis進行批量插入操作了。記得在配置文件中指定batch
批處理的參數,以提高性能。