Mybatis—Puls快速入门三(wapper类)
1.wapper类
Wrapper : 条件构造抽象类,最顶端父类
AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
QueryWrapper : Entity 对象封装操作类,不是用lambda语法
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
LambdaQueryWrapper :看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper
2. 案例一(ge、gt、le、lt、isNull、isNotNull)
- ge :是>=
- gt : 是>
- le : 是<=
- lt :是<
- isNull : 是空的
- isNotNull 不是空的
案例 1:
/**
* 查询出年龄大于等于22的数据 小于等于 44 的人
*/
@Test
void Test01() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
//添加条件
queryWrapper.gt("age",22)
.lt("age",44);
//传入条件对象
List<User> users = userMapper.selectList(queryWrapper);
users.stream().forEach(System.out::println);
}
2. 案例二(eq、ne)
- eq : 等于
- nq : 不等于
案例1
```java
/**
* 查询name 等于sjh0822的记录
*/
@Test
void Test02() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.eq(“name”,“sjh0822”);
//seletOne()返回的是一条实体记录,当出现多条时会报错
User user = userMapper.selectOne(queryWrapper);
System.out.println(user);
}
```
3. 案例三 between、notBetween
-
between:在什么范围之内
-
notBetween :不在什么范围之内
案例1:
/**
* 查询年龄 22——44 范围内有多少人
*/
@Test
void Test03() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.between("age",22,44);
Integer integer = userMapper.selectCount(queryWrapper);
System.out.println(integer);
}
4.案例四 like、notLike、
- like 模糊匹配某个值
- notLike 不匹配某个值
案例1
/**
* 查询名字包含s的校色
*/
@Test
void Test05() {
QueryWrapper queryWrapper = new QueryWrapper();
queryWrapper.like("name", "s");
List list = userMapper.selectList(queryWrapper);
list.stream().forEach(System.out::println);
}
5. 其他函数
查询方式 | 说明 |
---|---|
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”) |