LambdaQueryWrapper和LambdaUpdateWrapper
时间: 2023-10-15 20:24:51 浏览: 95
LambdaQueryWrapper和LambdaUpdateWrapper是MyBatis-Plus框架中提供的两个功能强大的封装类,用于构建查询条件和更新条件。
LambdaQueryWrapper用于构建查询条件,可以通过链式调用的方式灵活地添加各种条件。它可以通过lambda表达式来指定实体类的属性作为查询条件,并支持多种操作符(例如等于、不等于、大于、小于等)和逻辑运算符(例如AND、OR等)。LambdaQueryWrapper还支持排序、分页等常用的查询操作。
示例代码:
```java
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getName, "张三")
.ne(User::getAge, 20)
.gt(User::getSalary, 5000)
.orderByDesc(User::getCreateTime)
.last("LIMIT 10");
List<User> userList = userMapper.selectList(queryWrapper);
```
LambdaUpdateWrapper用于构建更新条件,与LambdaQueryWrapper类似,也可以通过链式调用的方式添加各种条件。LambdaUpdateWrapper可以通过lambda表达式来指定实体类的属性作为更新条件,并支持多种操作符和逻辑运算符。与LambdaQueryWrapper不同的是,LambdaUpdateWrapper还可以指定需要更新的字段及其值。
示例代码:
```java
LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(User::getName, "张三")
.ne(User::getAge, 20)
.set(User::getSalary, 6000);
int affectedRows = userMapper.update(null, updateWrapper);
```
需要注意的是,LambdaQueryWrapper和LambdaUpdateWrapper都是线程安全的,可以在多线程环境下使用。同时,它们还提供了一些其他的方法和功能,可以根据具体的需求来灵活使用。
阅读全文