Wrapper---条件查询器

  :使用它可以实现很多复杂的查询

几个案例

 环境:

  参照博客MybatisPlus入门程序

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);
}

结果

1.2 查询 name"Jone" 的用户

//查询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);
}

结果

MybatisPlus使用Wrapper实现查询功能的更多相关文章

  1. 【百度地图API】小学生找哥哥——小学生没钱打车,所以此为公交查询功能

    原文:[百度地图API]小学生找哥哥--小学生没钱打车,所以此为公交查询功能 任务描述: 有位在魏公村附近上小学的小朋友,要去北京邮电大学找哥哥.他身上钱很少,只够坐公交的.所以,百度地图API快帮帮 ...

  2. Springboot+Vue实现仿百度搜索自动提示框匹配查询功能

    案例功能效果图 前端初始页面 输入搜索信息页面 点击查询结果页面 环境介绍 前端:vue 后端:springboot jdk:1.8及以上 数据库:mysql 核心代码介绍 TypeCtrler .j ...

  3. MybatisPlus多表连接查询

    一.序言 (一)背景内容 软件应用技术架构中DAO层最常见的选型组件为MyBatis,熟悉MyBatis的朋友都清楚,曾几何时MyBatis是多么的风光,使用XML文件解决了复杂的数据库访问的难题.时 ...

  4. 通过维基API实现维基百科查询功能

    通过英文维基的免费API,可以实现对维基百科的搜索查询或者标题全文查询等,尝试了一下通过title实现全文查询,返回的结果是wikitext格式,暂时不知道该如何应用,所以仅实现了查询功能,可以返回最 ...

  5. 创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段

    创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段 添加查询功能 本文将实现通过Name查询用户信息. 首先更新GetAll方法以启用查询: public async ...

  6. MySQL 5.5开启慢查询功能

    vim /etc/my.cnf [mysqld] slow-query-log = on # 开启慢查询功能 slow_query_log_file = /usr/local/mysql/data/s ...

  7. ASP.NET MVC系列:为视图添加查询功能

    首先,在MoviesController里添加一个查询方法,代码如下 public ActionResult SearchIndex(string title) { //查询数据库中的电影表 var ...

  8. 完善ext.grid.panel中的查询功能(紧接上一篇)

    今天的代码主要是实现,Ext.grid.panel中的查询,其实我也是一名extjs新手,开始想的实现方式是另外再创建一个新的grid类来存放查询出的数据(就是有几个分类查询就创建几个grid类),这 ...

  9. 033医疗项目-模块三:药品供应商目录模块——供货商药品目录t添加查询功能----------Dao层和Service层和Action层和调试

    什么叫做供货商药品目录t添加查询功能?就是说我们前面的博客里面不是说供货商登录后看到了自己供应的药品了么如下: 现在供货商想要往里面添加别的药品,那么这个药品的来源就是卫生局提供的那个Ypxx表(药品 ...

随机推荐

  1. Golang通脉之并发初探

    并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发. 并发与并行 并发:同一时间段内执行多个任务. 并行:同一时刻执行多个任务,有时间上的重叠. 进程.线程.协程 进程(Process) ...

  2. Linux Ubuntu stty 使用

    stty(set tty)命令用于显示和修改当前注册的终端的属性. 该命令是一个用来改变并打印终端行设置的常用命令. stty -a #将所有选项设置的当前状态写到标准输出中 old_stty_set ...

  3. uni-app使用wx-canvas实现微信小程序上显示地图map和坐标geo

    源码 <template> <view class="echart-box"> <canvas class="ec-canvas" ...

  4. Spring一套全通—工厂

    百知教育 - Spring系列课程 - 工厂 第一章 引言 1. EJB存在的问题 2. 什么是Spring Spring是一个轻量级的JavaEE解决方案,整合众多优秀的设计模式 轻量级 1. 对于 ...

  5. 重装系统——联想window 10

    大四了,读了四年大学,唉,混的,啥也不会,工作也找不到,真的不知道这大学四年到底干了什么.专业是计算机方向的,但居然,不敢,也不会装电脑系统,大学四年的文件都是乱放的,更那个的是,有些软件卸载不完全, ...

  6. Python使用ConfigParser模块读取配置文件(config.ini)以及写入配置文件

    前言 使用配置文件来灵活的配置一些参数是一件很常见的事情,配置文件的解析并不复杂,在python里更是如此,在官方发布的库中就包含有做这件事情的库,那就是configParser.configPars ...

  7. C# for Beginner Part 21 to 30

    Part 21 Inheritance in c# Why Inheritance Pillars(支架) of Object Oriented Programming 1,Inheritance(继 ...

  8. Jquery的常用使用方法

    1.获取单个checkbox选中项(三种写法)$("input:checkbox:checked").val()或者$("input:[type='checkbox']: ...

  9. 树莓派4b安装Ubuntu20.04

    树莓派4b安装Ubuntu20.04 下载Ubuntu20.04镜像 下载地址 安装Raspberry Pi Imager 下载地址 烧录系统 打开Raspberry Pi Imager,选择自己刚刚 ...

  10. [luogu4331]数字序列

    令$a'_{i}=a_{i}+n-i$.$b'_{i}=b_{i}+n-i$,代价仍然是$\sum_{i=1}^{n}|a'_{i}-b'_{i}|$,但条件变为了$b'_{i}\le b'_{i+1 ...