mybatisplus wrapper如何实现 字段 = 字段 - 某个数值 如: salary = salary - 1
时间: 2024-03-10 07:48:56 浏览: 72
MybatisPlus提供了LambdaUpdateWrapper和UpdateWrapper两种方式来实现字段值减去某个数值的操作。
LambdaUpdateWrapper方式:
```java
LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.set(User::getSalary, User::getSalary.subtract(1));
updateWrapper.eq(User::getId, userId);
userMapper.update(null, updateWrapper);
```
UpdateWrapper方式:
```java
UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
updateWrapper.setSql("salary = salary - 1");
updateWrapper.eq("id", userId);
userMapper.update(null, updateWrapper);
```
其中,LambdaUpdateWrapper使用了Java 8的lambda表达式,更加简洁易读;UpdateWrapper则是使用了SQL语句的方式来实现。两种方式都可以实现字段值减去某个数值的操作,具体选择哪种方式,可以根据自己的需求和习惯来决定。
相关问题
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();wrapper.gt(User::getAge, 18); // 查询年龄大于等18的用户wrapper.lt(User::getSalary, 500); // 查询薪水小于500的用户
LambdaQueryWrapper 是 MyBatis-Plus 中的一个查询构造器,可以使用它快速构建查询条件。上述代码中,创建了一个 LambdaQueryWrapper 对象,并设置了两个查询条件。第一个条件是查询年龄大于等于 18 岁的用户,使用了 gt 方法,并通过 User::getAge 指定了要查询的字段。第二个条件是查询薪水小于 500 的用户,使用了 lt 方法,并通过 User::getSalary 指定了要查询的字段。最终生成的 SQL 语句可能类似于下面这样:
```
SELECT * FROM user WHERE age > 18 AND salary < 500;
```
mybatisplus大于小于
MyBatis-Plus提供了一些方便的方法来实现大于(greater than)和小于(less than)的查询条件。以下是一些常用的示例:
1. 大于(greater than):
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// 创建QueryWrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 设置大于条件
queryWrapper.gt("age", 18);
// 执行查询
List<User> userList = userMapper.selectList(queryWrapper);
```
上述代码中,我们使用`gt`方法来设置大于条件,其中`"age"`为字段名,`18`为比较的值。这将查询出年龄大于18的用户列表。
2. 小于(less than):
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
// 创建QueryWrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 设置小于条件
queryWrapper.lt("salary", 5000);
// 执行查询
List<User> userList = userMapper.selectList(queryWrapper);
```
在上面的代码中,我们使用`lt`方法来设置小于条件,其中`"salary"`为字段名,`5000`为比较的值。这将查询出薪水小于5000的用户列表。
除了`gt`和`lt`方法,MyBatis-Plus还提供了其他类似的方法,如`ge`(大于等于)和`le`(小于等于),可以根据具体的需求选择合适的方法来实现查询条件。
阅读全文