更新sql:
update set email = '123@' 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();
("123@");
(user,userQueryWrapper);
}
执行打印的sql
==> Preparing: UPDATE user SET email=? WHERE (name = ? AND age = ?)
==> Parameters: 123@(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@");
(null,userQueryWrapper);
}
除了set,还可以直接.update
@Test
public void update() {
new LambdaUpdateChainWrapper<User>(userMapper)
.eq(User::getName, "梅长苏")
.eq(User::getAge,30)
.set(User::getEmail,"123@")
.update();
}