MybatisPlus使用Wrapper实现条件查询功能
作者:Mr.XieZL 时间:2021-11-29 10:21:08
Wrapper---条件查询器
:使用它可以实现很多复杂的查询
1.条件查询
1.1查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12的用户
//查询name不为空的用户,并且邮箱不为空的用户,年龄大于等于12
@Test
void selectBy01(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.isNotNull("name") //name不为空的用户
.isNotNull("email") //邮箱不为空的用户
.ge("age",12); //年龄大于等于12
userMapper.selectList(wrapper).forEach(System.out::println);
}
//查询name为 "Jone" 的用户
@Test
void selectBy02(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper.eq("name","Jone"); //name为 "Jone" 的用户
//查询一个数据,为多个用 selectList 或者 selectByMap
User user = userMapper.selectOne(wrapper);
System.out.println(user);
}
1.3查询10 到 20岁的用户数
//查询 10 到 20 岁的用户数
@Test
void selectBy03(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper.between("age",10,20);
Integer count = userMapper.selectCount(wrapper);
//查询 10 到 20 岁的用户的结果数
System.out.println(count);
}
2.模糊查询
2.1 使用like + notLike + likeRight
@Test
void selectLike01(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.notLike("name","To") //名字不包含 To
.like("name","o") //名字包含 o 的
//左和右 左:%e 右:e% 两边:%e%
//右查询
.likeRight("email","test");
List<Map<String, Object>> users = userMapper.selectMaps(wrapper);
users.forEach(System.out::println);
}
2.2子查询
@Test
void selectLike02(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
//一个SQL语句写的子查询
.inSql("id","select id from user where age<20");
List<Object> users = userMapper.selectObjs(wrapper);
users.forEach(System.out::println);
}
2.3降序排序
@Test
void selectLike03(){
QueryWrapper<User> wrapper=new QueryWrapper<>();
//降序排序
wrapper.orderByDesc("id");
//升序排序
//wrapper.orderByAsc("id");
List<User> users = userMapper.selectList(wrapper);
users.forEach(System.out::println);
}
来源:https://blog.csdn.net/HellowWord_/article/details/122208312
标签:MybatisPlus,Wrapper,查询
0
投稿
猜你喜欢
GSON实现Java对象与JSON格式对象相互转换的完全教程
2023-11-23 09:23:37
Java负载均衡算法实现之轮询和加权轮询
2023-07-16 15:27:17
C++求四个正整数最大公约数的方法
2023-02-04 12:09:19
常用的Java数据结构知识点汇总
2022-09-09 02:26:02
VS2022+unity3D开发环境搭建的实现步骤
2023-02-10 10:13:47
Java集合框架Collections原理及用法实例
2021-12-04 18:10:20
Java数据结构之树和二叉树的相关资料
2022-07-31 04:48:18
浅谈两个jar包中包含完全相同的包名和类名的加载问题
2023-04-13 04:47:02
springboot使用事物注解方式代码实例
2022-07-09 00:13:21
org.slf4j.Logger中info()方法的使用详解
2021-05-31 20:10:36
Android下拉刷新控件PullToRefresh实例解析
2022-01-27 08:01:14
解决Android调用系统分享给微信,出现分享失败,分享多文件必须为图片格式的问题
2023-07-03 11:08:04
教大家使用java实现顶一下踩一下功能
2021-08-08 21:31:15
Spring缓存注解@Cacheable @CacheEvit @CachePut使用介绍
2022-06-05 01:47:14
Android动态修改应用图标与名称的方法实例
2021-11-21 13:24:44
Java线程让步_动力节点Java学院整理
2021-07-21 14:44:52
c#中switch case的用法实例解析
2023-09-20 23:02:51
Java深入浅出掌握SpringBoot之MVC自动配置原理篇
2022-04-16 02:14:34
C++ 智能指针深入解析
2023-08-14 22:38:41
Java Mybatis中的 ${ } 和 #{ }的区别使用详解
2021-07-02 22:35:27