querywrapper和lamdaquery
时间: 2023-04-28 11:00:45 浏览: 96
QueryWrapper和LambdaQuery都是MyBatis-Plus框架中的查询构造器,用于构建SQL查询语句。
QueryWrapper是基于Wrapper接口实现的,可以通过链式调用的方式构建查询条件,支持多种查询条件的组合,如等于、不等于、大于、小于、模糊查询等。
LambdaQuery是基于Lambda表达式实现的,可以通过Lambda表达式的方式构建查询条件,支持多种查询条件的组合,如等于、不等于、大于、小于、模糊查询等。
相比较而言,LambdaQuery更加简洁、易读,而QueryWrapper则更加灵活、可扩展。具体使用哪种查询构造器,可以根据实际情况和个人喜好进行选择。
相关问题
QueryWrapper和LambdaQueryWrapper
QueryWrapper和LambdaQueryWrapper都是MyBatis-Plus中的查询构造器,于构建SQL查询条件。
QueryWrapper是一种普通的方法链式调用来构建查询条件,需要手动指定实体类的属性名,不支持类型安全的Lambda表达式。示例代码如下:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", "Tom")
.like("email", "@gmail.com")
.in("age", Arrays.asList(18, 20, 25));
List<User> userList = userMapper.selectList(queryWrapper);
```
LambdaQueryWrapper是一种类型安全的Lambda表达式构建查询条件的方式,可以避免手动指定实体类的属性名。示例代码如下:
```java
LambdaQueryWrapper<User> user= new LambdaQueryWrapper<>();
user.eq(User::getState, 1);
user.eq(User::getEnable, 1);
List<User> userList = userMapper.selectList(user);
```
QueryWrapper和UpdateWrapper 区别
QueryWrapper和UpdateWrapper是MyBatis-Plus框架中的两个查询条件封装类,用于构建数据库查询和更新的条件。
区别如下:
1. 功能不同:
- QueryWrapper:用于构建查询条件,可以设置等于、不等于、大于、小于、模糊查询等条件。
- UpdateWrapper:用于构建更新条件,可以设置等于、不等于、大于、小于等条件。
2. 使用场景不同:
- QueryWrapper:适用于查询操作,可以根据条件查询满足条件的数据。
- UpdateWrapper:适用于更新操作,可以根据条件更新满足条件的数据。
3. 方法不同:
- QueryWrapper:提供了一系列查询方法,如eq、ne、gt、lt、like等。
- UpdateWrapper:提供了一系列更新方法,如set、setSql、eq、ne、gt、lt等。
4. 返回结果不同:
- QueryWrapper:执行查询操作后,返回满足条件的查询结果。
- UpdateWrapper:执行更新操作后,返回更新的行数。