mybatis-plus 实现联合主键更新
时间: 2023-07-11 09:19:49 浏览: 317
Mybatis-Plus 可以通过实体类中使用 `@TableId` 注解标记多个属性作为联合主键,然后在更新时使用 `UpdateWrapper` 进行条件构造。
假设有一个实体类 `User`,其中 `id` 和 `name` 组成联合主键,那么可以这样定义:
```java
@Data
@Accessors(chain = true)
public class User {
@TableId(type = IdType.INPUT)
private Long id;
@TableId(type = IdType.INPUT)
private String name;
private Integer age;
// 其他属性省略
}
```
在进行更新时,可以通过 `UpdateWrapper` 进行条件构造,如下所示:
```java
User user = new User().setId(1L).setName("Tom").setAge(20);
UpdateWrapper<User> updateWrapper = new UpdateWrapper<User>()
.eq("id", user.getId())
.eq("name", user.getName());
userMapper.update(user, updateWrapper);
```
这样就可以根据联合主键更新记录了。注意,在定义实体类时需要使用 `@TableId` 注解标记联合主键属性,同时 `type` 属性需要设置为 `IdType.INPUT`,表示主键值由程序自动生成。
希望能够帮到你!
阅读全文
相关推荐
















