mybatis-plus有where条件的更新操作、示例

本文详细介绍了使用MyBatisPlus进行实体更新的具体方法,包括通过实体更新、仅更新指定字段以及使用lambda表达式的不同方式。展示了如何利用LambdaUpdateWrapper进行条件设置,并通过实例演示了具体的SQL执行过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 更新sql:

update set email = '123@qq.com' where name = '梅长苏' and age = 30

方法:通过实体更新

@Test
public void update() {
    LambdaUpdateWrapper<User> userQueryWrapper = Wrappers.<User>lambdaUpdate()
            .eq(User::getName, "梅长苏")
            .eq(User::getAge,30);
    User user = new User();
    user.setEmail("123@qq.com");
    userMapper.update(user,userQueryWrapper);
}

执行打印的sql

==>  Preparing: UPDATE user SET email=? WHERE (name = ? AND age = ?)
==> Parameters: 123@qq.com(String), 梅长苏(String), 30(Integer)
<==    Updates: 1

方法2:只更新少量字段的时候,使用set就行了

@Test
public void update() {
    LambdaUpdateWrapper<User> userQueryWrapper = Wrappers.<User>lambdaUpdate()
            .eq(User::getName, "梅长苏")
            .eq(User::getAge,30)
            .set(User::getEmail,"123@qq.com");
    userMapper.update(null,userQueryWrapper);
}

 

 

 

除了set,还可以直接.update

@Test
public void update() {
    new LambdaUpdateChainWrapper<User>(userMapper)
            .eq(User::getName, "梅长苏")
            .eq(User::getAge,30)
            .set(User::getEmail,"123@qq.com")
            .update();
}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值