mybatisplus如何批量更新
时间: 2023-12-15 20:32:55 浏览: 130
Mybatis批量更新三种方式的实现
5星 · 资源好评率100%
mybatis-plus提供了saveOrUpdateBatch方法来实现批量插入或更新。具体实现步骤如下:
1.创建一个实体类,该实体类需要继承Model类,并且需要使用@TableId注解标注主键字段。
2.创建一个Mapper接口,该接口需要继承BaseMapper接口。
3.在Mapper接口中定义一个批量更新的方法,方法参数为List集合。
4.在xml文件中编写批量更新的SQL语句,使用foreach标签遍历List集合中的实体对象,使用update标签更新实体对象的属性值。
5.在Service层中调用Mapper接口中的批量更新方法即可实现批量更新。
下面是一个示例代码:
```java
// 实体类
@Data
@TableName("user")
public class User extends Model<User> {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
}
// Mapper接口
public interface UserMapper extends BaseMapper<User> {
void batchUpdate(List<User> userList);
}
// xml文件
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" separator=";">
update user
<set>
<if test="item.name != null">name=#{item.name},</if>
<if test="item.age != null">age=#{item.age},</if>
</set>
where id=#{item.id}
</foreach>
</update>
// Service层
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public void batchUpdate(List<User> userList) {
userMapper.batchUpdate(userList);
}
}
```
阅读全文