mybatis批量插入与批量修改并判断数据是否为空
时间: 2023-07-21 15:16:24 浏览: 250
对于 MyBatis 批量插入和批量更新操作,可以使用 MyBatis 提供的 `insertList` 和 `updateList` 方法,它们可以接收一个 List 集合参数,实现批量操作。
下面是一个示例代码:
```java
public interface MyMapper {
void batchInsert(List<MyEntity> list);
void batchUpdate(List<MyEntity> list);
}
```
```xml
<insert id="batchInsert" parameterType="java.util.List">
insert into my_table (column1, column2, column3) values
<foreach collection="list" item="item" separator=",">
(#{item.column1}, #{item.column2}, #{item.column3})
</foreach>
</insert>
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
update my_table set
<if test="item.column1 != null">column1 = #{item.column1},</if>
<if test="item.column2 != null">column2 = #{item.column2},</if>
<if test="item.column3 != null">column3 = #{item.column3},</if>
where id = #{item.id}
</foreach>
</update>
```
需要注意的是,如果实体类中的某些属性可能为 `null`,需要在 SQL 语句中使用 `<if>` 标签判断,避免将 `null` 值插入或更新到数据库中。
阅读全文