目录
Mybatis-Plus条件构造器
1、allEq:全部
allEq(Map<R, V> params)
allEq(Map<R, V> params, boolean null2IsNull)
allEq(boolean condition, Map<R, V> params, boolean null2IsNull)
个别参数说明:
params
:key
为数据库字段名,value
为字段值null2IsNull
: 为true
则在map
的value
为null
时调用 isNull 方法,为false
时则忽略value
为null
的
示例:
@Test
public void AllEq() {
//设置条件
Map<String,Object> params = new HashMap<>();
params.put("name", "坤坤");
params.put("age", "18");
params.put("password", null);
QueryWrapper<Users> wrapper = new QueryWrapper<>();
//SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE password IS NULL AND name = ? AND age = ?
//wrapper.allEq(params);
//去掉为空的条件
//SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ? AND age = ?
//wrapper.allEq(params,false);
//过滤条件
//SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ?
wrapper.allEq((k, v) -> (k.equals("name") || k.equals("id")),params);
//SQL:SELECT id,user_name,password,name,age,email FROM tb_user WHERE name = ? AND age = ?
wrapper.allEq((k, v) -> (k.equals("name") || k.equals("age")),params);
List<Users> users = this.userMapper.selectList(wrapper);
for (Users user : users) {
System.out.println(user);
}
}
2、eq:等于
eq(R column, Object val)
eq(boolean condition, R column, Object val)
- 等于 =
- 例:
eq("name", "老王")
--->name = '老王'
示例:
//查询一条数据
@Test
public void selectOne() {
QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_name","11");
//查询一条,如果多余1条会报异常
Users user = this.userMapper.selectOne(queryWrapper);
System.out.println("result = " + user);
}
3、ne:不等于
ne(R column, Object val)
ne(boolean condition, R column, Object val)
- 不等于 <>
- 例:
ne("name", "老王")
--->name <> '老王'
示例:
//不等于
@Test
public void selectListNe() {
QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
//SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE name <> ?
queryWrapper.ne("name","王五");
//根据条件查询集合
List<Users> userList = this.userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
4、gt:大于
gt(R column, Object val)
gt(boolean condition, R column, Object val)
- 大于 >
- 例:
gt("age", 18)
--->age > 18
//大于
@Test
public void selectListGt() {
QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
//SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age > ?
queryWrapper.gt("age","20");
//根据条件查询集合
List<Users> userList = this.userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
5、ge:大于等于
ge(R column, Object val)
ge(boolean condition, R column, Object val)
- 大于等于 >=
- 例:
ge("age", 18)
--->age >= 18
//大于等于
@Test
public void selectListGe() {
QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
//SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age >= ?
queryWrapper.ge("age","20");//
//根据条件查询集合
List<Users> userList = this.userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
6、lt:小于
lt(R column, Object val)
lt(boolean condition, R column, Object val)
- 小于 <
- 例:
lt("age", 18)
--->age < 18
//小于
@Test
public void selectListLt() {
QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
//SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age < ?
queryWrapper.lt("age","20");//
//根据条件查询集合
List<Users> userList = this.userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
7、le:小于等于
le(R column, Object val)
le(boolean condition, R column, Object val)
- 小于等于 <=
- 例:
le("age", 18)
--->age <= 18
//小于等于
@Test
public void selectListLe() {
QueryWrapper<Users> queryWrapper = new QueryWrapper<>();
//SQL: SELECT id,user_name,password,name,age,email FROM tb_user WHERE age <= ?
queryWrapper.le("age","20");//
//根据条件查询集