QueryWrapper 使用详解
一、QueryWrapper大于等于
QueryWrapper大于等于是针对数据表中大于等于指定值的字段进行查询的一种方法。 我们先创建一个实体类User:
public class User {
private Long id;
private String name;
private Integer age;
private String email;
// getter and setter
}
接下来我们创建一个UserService并进行查询:
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询age>=20的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ge("age", 20);
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}
在代码中,我们使用QueryWrapper的ge
方法,指定字段为age,值为20。这样就可以轻松查询出age大于等于20的用户。如果需要查询大于等于,那么可以使用ge
方法;如果需要查询大于,那么可以使用gt
方法。
二、QueryWrapper小于等于
QueryWrapper小于等于与大于等于类似,只是查询条件变成了小于等于。具体使用也与大于等于相同,可以使用le
方法。
三、QueryWrapper不等于字段
QueryWrapper不等于字段是指不等于指定值的字段进行查询的一种方法。同样,也是创建一个QueryWrapper实例,在其中使用ne
方法指定字段名和值。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询age不等于20的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("age", 20);
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}
四、QueryWrapper不等于空
在使用QueryWrapper进行查询的时候,有时候需要对某个字段不为空的情况进行查询。这时可以使用QueryWrapper的isNotNull
方法。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询age不为空的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("age");
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}
五、QueryWrapper大于小于
如果需要同时查询大于和小于某个值的记录,那么可以使用between
方法。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询age大于20,小于30的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.between("age", 20, 30);
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}
六、QueryWrapper小于等于
与小于等于相同,只是需要使用le
方法。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询age小于等于20的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.le("age", 20);
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}
七、QueryWrapper不等于
与不等于字段相同,使用ne
方法。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询age不等于20的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.ne("age", 20);
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}
八、QueryWrapper大于
与大于等于相同,使用gt
方法。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询age大于20的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.gt("age", 20);
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}
九、QueryWrapper不等于空字符串
与不等于空相同,同样使用isNotNull
方法。
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
/**
* 查询email不为空的用户
* @return
*/
public List<User> getUser(){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.isNotNull("email");
List<User> users = userMapper.selectList(queryWrapper);
return users;
}
}