联合主键如何使用mybatisplus批量更新
时间: 2023-11-16 07:54:51 浏览: 343
使用MybatisPlus批量更新联合主键的方法如下:
1. 首先需要在实体类中定义联合主键,例如:
```java
@Data
@TableName("user_role")
public class UserRole implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "user_id")
private Long userId;
@TableId(value = "role_id")
private Long roleId;
private String remark;
}
```
2. 然后在Mapper接口中定义批量更新方法,例如:
```java
public interface UserRoleMapper extends BaseMapper<UserRole> {
int batchUpdate(List<UserRole> userRoles);
}
```
3. 在XML文件中编写SQL语句,例如:
```xml
<update id="batchUpdate" parameterType="java.util.List">
<foreach collection="list" item="item" separator=";">
UPDATE user_role
SET remark = #{item.remark}
WHERE user_id = #{item.userId} AND role_id = #{item.roleId}
</foreach>
</update>
```
4. 最后在Service层调用批量更新方法即可,例如:
```java
@Service
public class UserRoleServiceImpl extends ServiceImpl<UserRoleMapper, UserRole> implements UserRoleService {
@Override
public boolean batchUpdate(List<UserRole> userRoles) {
return this.baseMapper.batchUpdate(userRoles) > 0;
}
}
```
阅读全文