每天玩转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, '[email protected]', NULL, '2019-01-11 14:20:20'),
(1088248166370832385, '王天风', 25, '[email protected]', 1087982257332887553, '2019-02-05 11:12:22'),
(1088250446457389058, '李艺伟', 28, '[email protected]', 1088248166370832385, '2019-02-14 08:31:16'),
(1094590409767661570, '张雨琪', 31, '[email protected]', 1088248166370832385, '2019-01-14 09:15:15'),
(1094592041087729666, '刘红雨', 32, '[email protected]', 1088248166370832385, '2019-01-14 09:48:16');

User 表结构如下:

1Jone18[email protected]null
2020-01-01 14:20:20
2Jack20[email protected]1
2020-01-20 14:20:20
3Tom28[email protected]2
2020-01-15 14:20:20
4Sandy21[email protected]2
2020-01-12 14:20:20
5Billie24[email protected]2
2020-01-22 14:20:20

一、案例汇总(第四波)

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 用法

每天玩转3分钟 MyBatis-Plus - 6. select 用法-LMLPHP

 /*
* 描述:例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);
}

查询日志:

每天玩转3分钟 MyBatis-Plus - 6. select 用法-LMLPHP

查询结果:

每天玩转3分钟 MyBatis-Plus - 6. select 用法-LMLPHP

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 - 6. select 用法-LMLPHP

查询结果:

每天玩转3分钟 MyBatis-Plus - 6. select 用法-LMLPHP

每天玩转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 用法-LMLPHP

悟空聊架构 

关注我,带你每天进步一点点!

04-30 02:46