Java批量更新mybatis
时间: 2023-11-23 07:07:14 浏览: 87
Java中使用MyBatis进行批量更新有两种常见的方式:
1. 直接在SQL语句中使用foreach循环进行批量更新,这种方式需要注意SQL语句的书写和参数的传递,示例代码如下:
```java
public void batchUpdate(List<Map<String, Object>> updateList) {
sqlSession.update("mapper.updateBatch", updateList);
}
```
其中,mapper.updateBatch对应的SQL语句为:
```sql
<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>
```
2. 将需要更新的数据循环调用update方法去更新数据,示例代码如下:
```java
public void batchUpdate(List<Map<String, Object>> updateList) {
updateList.stream().forEach(map -> {
sqlSession.update("mapper.update", map);
});
}
```
其中,mapper.update对应的SQL语句为:
```sql
<update id="update" parameterType="java.util.Map">
update table_name set column1 = #{column1}, column2 = #{column2} where id = #{id}
</update>
```
阅读全文