LambdaQueryWrapper写法
时间: 2023-11-14 21:09:50 浏览: 42
LambdaQueryWrapper是Mybatis-Plus提供的一种查询构造器,可以通过链式调用的方式构建复杂的查询条件。下面是一个简单的示例:
```java
LambdaQueryWrapper<User> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(User::getName, "张三").gt(User::getAge, 18);
List<User> userList = userMapper.selectList(wrapper);
```
这个示例中,我们创建了一个LambdaQueryWrapper对象,然后通过eq()方法和gt()方法分别添加了两个查询条件,最后调用selectList()方法执行查询并返回结果。
相关问题
SELECT * from acq_info where pid is null LambdaQueryWrapper 写法
使用 LambdaQueryWrapper 写法,可以进行以下操作:
1. 导入相关的 Mybatis-Plus 包和 Java 类。
```
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
```
2. 在 Service 中注入 Mapper 对象。
```
@Autowired
private AcqInfoMapper acqInfoMapper;
```
3. 使用 LambdaQueryWrapper 构造查询条件。
```
LambdaQueryWrapper<AcqInfo> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.isNull(AcqInfo::getPid);
```
4. 调用 Mapper 中的 selectList 方法,并传入查询条件。
```
List<AcqInfo> acqInfos = acqInfoMapper.selectList(queryWrapper);
```
5. 将查询结果返回给 Controller。
```
return acqInfos;
```
完整的代码如下:
```
@Service
public class AcqInfoServiceImpl implements AcqInfoService {
@Autowired
private AcqInfoMapper acqInfoMapper;
@Override
public List<AcqInfo> getByPidIsNull() {
LambdaQueryWrapper<AcqInfo> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.isNull(AcqInfo::getPid);
List<AcqInfo> acqInfos = acqInfoMapper.selectList(queryWrapper);
return acqInfos;
}
}
```
使用 LambdaQueryWrapper 可以更加方便地构建查询条件,并且代码更加简洁易读。
LambdaQueryWrapper 排序 写法
LambdaQueryWrapper 是 MyBatis-Plus 提供的一个查询条件构造器,用于方便地构建查询条件。在 LambdaQueryWrapper 中进行排序的写法如下:
1. 单个字段排序
```java
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByAsc(Entity::getField); // 升序排序
queryWrapper.orderByDesc(Entity::getField); // 降序排序
```
2. 多个字段排序
```java
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByAsc(Entity::getField1, Entity::getField2); // 先按 getField1 升序排序,再按 getField2 升序排序
queryWrapper.orderByDesc(Entity::getField1, Entity::getField2); // 先按 getField1 降序排序,再按 getField2 降序排序
```
3. 自定义排序方式
```java
LambdaQueryWrapper<Entity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderBy(true, true, Entity::getField); // 第一个参数表示是否升序,第二个参数表示是否忽略实体类中的排序注解,第三个参数表示要排序的字段
```
这些是 LambdaQueryWrapper 中进行排序的常见写法,根据实际需求选择适合的方式进行使用。