mybatisplus如何实现多组条件查询
时间: 2023-08-28 07:17:56 浏览: 105
结合mybatis-plus实现简单不需要写sql的多表查询
5星 · 资源好评率100%
MyBatis-Plus 是一个基于 MyBatis 的增强工具,它提供了一些便捷的方法和功能来简化开发过程。要实现多组条件查询,可以使用 MyBatis-Plus 提供的 Lambda 查询和 QueryWrapper 来构建查询条件。
1. Lambda 查询:
使用 Lambda 查询可以使用实体类的属性名作为查询条件,可以方便地组合多个查询条件。
```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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
// 示例代码
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
public List<User> searchUsers(String username, Integer age) {
LambdaQueryWrapper<User> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.like(User::getUsername, username)
.eq(User::getAge, age);
return baseMapper.selectList(queryWrapper);
}
}
```
2. QueryWrapper 查询:
QueryWrapper 是 MyBatis-Plus 提供的功能强大的查询构造器,它可以拼接多个查询条件,并支持复杂的查询逻辑。
```java
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
// 示例代码
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
public List<User> searchUsers(String username, Integer age) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("username", username)
.eq("age", age);
return baseMapper.selectList(queryWrapper);
}
}
```
以上是使用 MyBatis-Plus 实现多组条件查询的两种常见方式。可以根据具体的需求选择合适的方式进行查询。
阅读全文