MyBatisPlus-04-条件构造器

MyBatisPlus-04-条件构造器

前言

  • 十分重要:Wrapper

  • 写一些复杂的sql就可以使用它来替代!

1. 测试用例

1、测试一,记住查看输出的SQL进行分析

1
2
3
4
5
6
7
8
9
10
11
@Test
void contextLoads() {
// 查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper
.isNotNull("name")
.isNotNull("email")
.ge("age",12);
userMapper.selectList(wrapper).forEach(System.out::println); // 和我们刚才学习
的map对比一下
}

2、测试二,记住查看输出的SQL进行分析

1
2
3
4
5
6
7
8
@Test
void test2(){
// 查询名字Zhuuu
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("name","Zhuuu");
User user = userMapper.selectOne(wrapper); // 查询一个数据,出现多个结果使用List或者 Map
System.out.println(user);
}
  1. 测试三,记住查看输出的SQL进行分析
1
2
3
4
5
6
7
8
@Test
void test3(){
// 查询年龄在 20 ~ 30 岁之间的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.between("age",20,30); // 区间
Integer count = userMapper.selectCount(wrapper);// 查询结果数
System.out.println(count);
}

1.1 模糊查询

4、测试四,记住查看输出的SQL进行分析

1
2
3
4
5
6
7
8
9
10
11
12
// 模糊查询
@Test
void test4(){
// 查询年龄在 20 ~ 30 岁之间的用户
QueryWrapper<User> wrapper = new QueryWrapper<>();
// 左和右 t%
wrapper
.notLike("name","e")
.likeRight("email","t");
List<Map<String, Object>> maps = userMapper.selectMaps(wrapper);
maps.forEach(System.out::println);
}

1.2 子查询

1
2
3
4
5
6
7
8
9
10
11
// 子查询
@Test
void test5(){

QueryWrapper<User> wrapper = new QueryWrapper<>();
// id 在子查询中查出来
wrapper.inSql("id","select id from user where id<3");

List<Object> objects = userMapper.selectObjs(wrapper);
objects.forEach(System.out::println);
}

打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信