每天玩转3分钟 MyBatis-Plus - 6. select 用法
每天玩转3分钟 MyBatis-Plus - 1. 配置环境
每天玩转3分钟 MyBatis-Plus - 2. 普通查询
每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一)
每天玩转3分钟 MyBatis-Plus - 4. 高级查询(二)
每天玩转3分钟 MyBatis-Plus - 5. 高级查询(三)
每天玩转3分钟 MyBatis-Plus - 6. select 查询
代码下载:https://github.com/Jackson0714/study-mybatis-plus.git
mybatis-plus的查询功能非常强大, 上一篇,我们通过例题的方式讲解了mybatis-plus的高级查询功能:条件查询.
这一篇我们继续以例题的方式讲解mybatis-plus的 select 查询功能。
准备数据
#创建用户表
CREATE TABLE user (
id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键',
name VARCHAR(30) DEFAULT NULL COMMENT '姓名',
age INT(11) DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
manager_id BIGINT(20) DEFAULT NULL COMMENT '直属上级id',
create_time DATETIME DEFAULT NULL COMMENT '创建时间',
CONSTRAINT manager_fk FOREIGN KEY (manager_id)
REFERENCES user (id)
) ENGINE=INNODB CHARSET=UTF8; #初始化数据:
INSERT INTO user (id, name, age, email, manager_id
, create_time)
VALUES (1087982257332887553, '大boss', 40, 'boss@baomidou.com', NULL, '2019-01-11 14:20:20'),
(1088248166370832385, '王天风', 25, 'wtf@baomidou.com', 1087982257332887553, '2019-02-05 11:12:22'),
(1088250446457389058, '李艺伟', 28, 'lyw@baomidou.com', 1088248166370832385, '2019-02-14 08:31:16'),
(1094590409767661570, '张雨琪', 31, 'zjq@baomidou.com', 1088248166370832385, '2019-01-14 09:15:15'),
(1094592041087729666, '刘红雨', 32, 'lhm@baomidou.com', 1088248166370832385, '2019-01-14 09:48:16');
User 表结构如下:
| id | name | age | manager_id | create_time | ||
|---|---|---|---|---|---|---|
| 1 | Jone | 18 | test1@baomidou.com | null |
|
|
| 2 | Jack | 20 | test2@baomidou.com | 1 |
|
|
| 3 | Tom | 28 | test3@baomidou.com | 2 |
|
|
| 4 | Sandy | 21 | test4@baomidou.com | 2 |
|
|
| 5 | Billie | 24 | test5@baomidou.com | 2 |
|
一、案例汇总(第四波)
1.1 查询年龄为20、21、25、26的用户,且只返回id和name字段
难度系数 ★
1.2 查询年龄为20、21、25、26的用户,且只返回id、name、manager_id字段
难度系数 ★★
二、案例讲解
1.1 查询年龄为20、21、25、26的用户,且只返回id和name字段
难度系数 ★
考察 select 用法

/*
* 描述:例1.9 查询年龄为20、21、25、26的用户,且只返回id和name字段
* SQL语句:SELECT id,name FROM user WHERE age IN (20,21,25,26)
* 作者:博客园-悟空聊架构
* 时间:2019-02-01
* Github:https://github.com/Jackson0714/study-mybatis-plus.git
* 博客园:https://www.cnblogs.com/jackson0714
* */
@Test
public void testSelectByQueryWrapper9() {
System.out.println(("----- 查询年龄为20、21、25、26的用户,且只返回id和name字段 ------"));
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.in("age", Arrays.asList(20,21,25,26)).select("id","name"); // 针对字段少的情况
List<User> userList = userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
查询日志:

查询结果:

1.2 查询年龄为20、21、25、26的用户,且只返回id、name、manager_id字段
难度系数 ★★
考察 select 用法
/*
* 描述:例1.10 查询年龄为20、21、25、26的用户,且只返回id、name、manager_id 字段
* SQL语句:SELECT id,name,manager_id FROM user WHERE age IN (20,21,25,26)
* 作者:博客园-悟空聊架构
* 时间:2019-02-01
* Github:https://github.com/Jackson0714/study-mybatis-plus.git
* 博客园:https://www.cnblogs.com/jackson0714
* */
@Test
public void testSelectByQueryWrapper10() {
System.out.println(("----- 查询年龄为20、21、25、26的用户,且只返回id、name、manager_id 字段 ------"));
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.in("age", Arrays.asList(20,21,25,26)) // 针对字段多的情况,用排除字段的方式
.select(User.class, info->!info.getColumn()
.equals(("email")) && !info.getColumn().equals("create_time")); List<User> userList = userMapper.selectList(queryWrapper);
userList.forEach(System.out::println);
}
查询日志:

查询结果:

每天玩转3分钟 MyBatis-Plus - 1. 配置环境
每天玩转3分钟 MyBatis-Plus - 2. 普通查询
每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一)
每天玩转3分钟 MyBatis-Plus - 4. 高级查询(二)
每天玩转3分钟 MyBatis-Plus - 5. 高级查询(三)
每天玩转3分钟 MyBatis-Plus - 6. select 查询
关注公众号:悟空聊架构,回复pmp,领取pmp资料!回复悟空,领取架构师资料!
作 者:悟空聊架构
出 处:http://www.cnblogs.com/jackson0714/
关于作者:专注于移动开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!

悟空聊架构
关注我,带你每天进步一点点!
每天玩转3分钟 MyBatis-Plus - 6. select 用法的更多相关文章
- 每天玩转3分钟 MyBatis-Plus - 2. 普通查询
每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 mybatis-plus的查询功能非常强大, 这一篇,我们来看下mybati ...
- 每天玩转3分钟 MyBatis-Plus - 1. 配置环境
每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 ...
- 每天玩转3分钟 MyBatis-Plus - 4. 高级查询(二)(条件构造器)
每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一) 每天玩转 ...
- 每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一)(条件构造器)
每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询 代码下载:ht ...
- 每天玩转3分钟 MyBatis-Plus - 5. 高级查询(三)(条件构造器)
每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一) 每天玩转 ...
- mybatis研究:select性能对比
package sss.mybatis_1; import java.io.InputStream; import java.security.Principal; import java.util. ...
- SpringMVC +mybatis+spring 结合easyui用法及常见问题总结
SpringMVC +mybatis+spring 结合easyui用法及常见问题总结 1.FormatString的用法. 2.用postAjaxFillGrid实现dataGrid 把form表单 ...
- Java-MyBatis-杂项: MyBatis 中 in 的用法2
ylbtech-Java-MyBatis-杂项: MyBatis 中 in 的用法2 1.返回顶部 1. 一.简介 在SQL语法中如果我们想使用in的话直接可以像如下一样使用: select * fr ...
- Java-MyBatis:MyBatis 中 in 的用法
ylbtech-Java-MyBatis-杂项:MyBatis 中 in 的用法 1.返回顶部 1. foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元 ...
随机推荐
- BZOJ 3166
BZOJ3196: Tyvj 1730 二逼平衡树 传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3196 题意: 1.查询k在区间内的排名 ...
- WCF 服务应用程序
1. 创建 WCF 服务程序和客户端程序,参考如下: https://docs.microsoft.com/zh-cn/dotnet/framework/wcf/getting-started-tut ...
- Docker Desktop: Error response from daemon: driver failed programming external connectivity on endpoint xxx 问题
右击任务栏 Docker 图标 `Restart` 或 `Quit Docker Deskto` 后之前正常的 zookeeper 容器不会自动启动 通过命令 docker start zk1 启动报 ...
- 013 CephFS文件系统
一.Ceph文件系统简介 CephFS提供兼容POSIX的文件系统,将其数据和与那数据作为对象那个存储在Ceph中 CephFS依靠MDS节点来协调RADOS集群的访问 元数据服务器 MDS管理元数据 ...
- 1shell基础,变量,运算符
1shell基础语法 是一个命令解释器,在操作系统的最外层,负责直接与用户进行对话. 我们输入的命令,计算机时不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时把计算机 ...
- Go网络编程
概述 网络协议 从应用的角度出发,协议可理解为"规则",是数据传输和数据的解释的规则.假设,A.B双方欲传输文件.规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方: ...
- 来吧,一文彻底搞懂Java中的Comparable和Comparator
大家好,我是沉默王二,今天在逛 programcreek 的时候,我发现了一些专注细节但价值连城的主题.比如说:Java 的 Comparable 和 Comparator 是兄弟俩吗?像这类灵魂拷问 ...
- 51nod 1086背包问题V2 (完全背包模板题)
1086 背包问题 V2 1 秒 131,072 KB 20 分 3 级题 题目描述 有N种物品,每种物品的数量为C1,C2......Cn.从中任选若干件放在容量为W的背包里,每种物品的体积为W1, ...
- 如何对N个接口按比例压测
随着微服务盛行,公司的服务端项目也越来越多.单一的接口性能测试并不能准确反映某个服务的总体处理能力,在服务功能划分比较清晰的架构下,对于某一服务的总体性能测试也相对变得简单.下面分享一个对于某个模块对 ...
- PHP实现取得HTTP请求的原文【转】
本文实例讲述了PHP实现取得HTTP请求的原文的方法,具体步骤如下: 1. 取得请求行:Method.URI.协议 可以从超级变量$_SERVER中获得,三个变量的值如下: $_SERVER['REQ ...