怎么使用MyBatis進(jìn)行批量插入操作

小億
84
2024-04-07 17:38:38

在MyBatis中進(jìn)行批量插入操作可以通過(guò)使用MyBatis提供的foreach標(biāo)簽來(lái)實(shí)現(xiàn)。下面是一個(gè)示例:

  1. Mapper接口中定義一個(gè)方法來(lái)插入多個(gè)對(duì)象:
public interface MyMapper {
    void insertBatch(List<MyObject> myObjects);
}
  1. Mapper配置文件中編寫(xiě)對(duì)應(yīng)的insertBatch方法的SQL語(yǔ)句:
<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>
  1. 在代碼中調(diào)用insertBatch方法并傳入要插入的對(duì)象列表:
List<MyObject> myObjects = new ArrayList<>();
// 添加要插入的對(duì)象到myObjects中

SqlSession sqlSession = sqlSessionFactory.openSession();
try {
    MyMapper myMapper = sqlSession.getMapper(MyMapper.class);
    myMapper.insertBatch(myObjects);
    sqlSession.commit();
} finally {
    sqlSession.close();
}

通過(guò)以上步驟,就可以使用MyBatis進(jìn)行批量插入操作了。記得在配置文件中指定batch批處理的參數(shù),以提高性能。

0