mybatis批量更新简单
时间: 2023-10-13 13:18:32 浏览: 70
详解mybatis 批量更新数据两种方法效率对比
MyBatis 批量更新可以通过使用 `foreach` 标签实现。以下是一个简单的示例:
首先在 Mapper.xml 文件中定义一个 `updateBatch` 方法:
```xml
<update id="updateBatch" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" separator=";">
update table_name set column1 = #{item.column1}, column2 = #{item.column2} where id = #{item.id}
</foreach>
</update>
```
在 Java 代码中,可以调用 `updateBatch` 方法来批量更新数据:
```java
List<YourObject> list = new ArrayList<>();
// 添加需要更新的数据到 list 中
...
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
YourMapper mapper = sqlSession.getMapper(YourMapper.class);
mapper.updateBatch(list);
sqlSession.commit();
sqlSession.close();
```
在上面的示例中,我们通过 `sqlSession` 打开了一个批量更新的会话,并将 `ExecutorType` 参数设置为 `BATCH`,以便使用批量更新的方式提交 SQL 语句。
然后,我们获取了 MyBatis Mapper 对象,并调用了 `updateBatch` 方法来批量更新数据。
最后,我们提交了事务并关闭了会话。
阅读全文