java myabtis lambdaQuery().list()怎么写给我写一个条件查询的例子
时间: 2024-03-17 20:44:52 浏览: 43
Mybatis框架(条件查询)
好的,这里是一个使用 MyBatis Lambda 进行条件查询的例子,示例代码如下:
```java
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.additional.query.impl.LambdaQueryChainWrapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> listUsersByCondition(String name, Integer age) {
LambdaQueryWrapper<User> queryWrapper = Wrappers.<User>lambdaQuery();
if (name != null) {
queryWrapper.like(User::getName, name);
}
if (age != null) {
queryWrapper.eq(User::getAge, age);
}
return userMapper.selectList(queryWrapper);
}
public List<User> listUsersByConditionChain(String name, Integer age) {
LambdaQueryChainWrapper<User> queryWrapper = new LambdaQueryChainWrapper<>(userMapper);
if (name != null) {
queryWrapper.like(User::getName, name);
}
if (age != null) {
queryWrapper.eq(User::getAge, age);
}
return queryWrapper.list();
}
}
```
这个例子中使用了 MyBatis Plus 提供的 LambdaQueryWrapper 和 LambdaQueryChainWrapper 来进行条件查询。其中,LambdaQueryWrapper 是通过 MyBatis Plus 提供的静态方法 Wrappers.lambdaQuery() 创建的,用于构建查询条件;LambdaQueryChainWrapper 则是通过 new LambdaQueryChainWrapper<>(userMapper) 创建的,用于构建查询链,可以链式添加多个查询条件。
在例子中,我们根据传入的 name 和 age 参数来进行条件查询,如果参数不为 null,则添加相应的查询条件。最后,通过 userMapper.selectList 或 queryWrapper.list() 方法来执行查询,返回符合条件的 User 列表。
阅读全文