User us = new User();
us.setId((long)1);
//通过Id查询
User list = userMapper.selectById(us);
System.out.println("通过Id查询selectById:"+JSON.toJSONString(list));
//查询name=fr的数据,并且年龄在18-20
User user = new User();
user.setName("fr");
List<User> a = userMapper.selectList(new QueryWrapper<User>().eq("name","fr")
.between("age","0","2"));
a.forEach(User->{
System.out.println("多条件查询selectList:"+JSON.toJSONString(User));
});
//根据实体查询
User user1 =new User();
user1.setAge(1);
user1.setName("fr");
QueryWrapper qw = new QueryWrapper();
qw.setEntity(user1);
qw.select("age","name");//只查询age和name字段
User b = userMapper.selectOne(qw);
System.out.println("根据实体查询selectOne:"+JSON.toJSONString(b));
总结:查询可以使用两种方式定义QueryWrapper
第一种如:
List<User> a = userMapper.selectList(new QueryWrapper<User>().eq("name","fr")
.between("age","0","2"));
第二种:
QueryWrapper qw1 = new QueryWrapper();
qw1.eq("name","fr");
qw1.between("age","0","2");
List<User> a = userMapper.selectList(qw1);
条件参数说明
查询方式 | 说明 |
---|---|
setSqlSelect | 设置 SELECT 查询字段 |
where | WHERE 语句,拼接 + WHERE 条件 |
and | AND 语句,拼接 + AND 字段=值 |
andNew | AND 语句,拼接 + AND (字段=值) |
or | OR 语句,拼接 + OR 字段=值 |
orNew | OR 语句,拼接 + OR (字段=值) |
eq | 等于= |
allEq | 基于 map 内容等于= |
ne | 不等于<> |
gt | 大于> |
ge | 大于等于>= |
lt | 小于< |
le | 小于等于<= |
like | 模糊查询 LIKE |
notLike | 模糊查询 NOT LIKE |
in | IN 查询 |
notIn | NOT IN 查询 |
isNull | NULL 值查询 |
isNotNull | IS NOT NULL |
groupBy | 分组 GROUP BY |
having | HAVING 关键词 |
orderBy | 排序 ORDER BY |
orderAsc | ASC 排序 ORDER BY |
orderDesc | DESC 排序 ORDER BY |
exists | EXISTS 条件语句 |
notExists | NOT EXISTS 条件语句 |
between | BETWEEN 条件语句 |
notBetween | NOT BETWEEN 条件语句 |
addFilter | 自由拼接 SQL |
last | 拼接在最后,例如:last("LIMIT 1") |
注意! xxNew 都是另起 ( ... )
括号包裹。
MybatisPlus条件构造器具体参考https://mp.baomidou.com/guide/wrapper.html#abstractwrapper