每天玩转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, ‘[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 表结构如下:

id name age email manager_id create_time
1 Jone 18 [email protected] null
2020-01-01 14:20:20
2 Jack 20 [email protected] 1
2020-01-20 14:20:20
3 Tom 28 [email protected] 2
2020-01-15 14:20:20
4 Sandy 21 [email protected] 2
2020-01-12 14:20:20
5 Billie 24 [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 用法

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

查询日志:

查询结果:

1.2 查询年龄为20、21、25、26的用户,且只返回id、name、manager_id字段

难度系数 ★★

考察 select 用法

 1 /*
 2  * 描述:例1.10 查询年龄为20、21、25、26的用户,且只返回id、name、manager_id 字段
 3  * SQL语句:SELECT id,name,manager_id FROM user WHERE age IN (20,21,25,26)
 4  * 作者:博客园-悟空聊架构
 5  * 时间:2019-02-01
 6  * Github:https://github.com/Jackson0714/study-mybatis-plus.git
 7  * 博客园:https://www.cnblogs.com/jackson0714
 8  * */
 9 @Test
10 public void testSelectByQueryWrapper10() {
11     System.out.println(("----- 查询年龄为20、21、25、26的用户,且只返回id、name、manager_id 字段 ------"));
12     QueryWrapper<User> queryWrapper = new QueryWrapper<>();
13     queryWrapper.in("age", Arrays.asList(20,21,25,26)) // 针对字段多的情况,用排除字段的方式
14             .select(User.class, info->!info.getColumn()
15                     .equals(("email")) && !info.getColumn().equals("create_time"));
16
17     List<User> userList = userMapper.selectList(queryWrapper);
18     userList.forEach(System.out::println);
19 }

原文地址:https://www.cnblogs.com/jackson0714/p/study-mybatis-plus6.html

时间: 2024-11-07 01:03:53

每天玩转3分钟 MyBatis-Plus - 6. select 用法的相关文章

每天玩转3分钟 MyBatis-Plus - 4. 高级查询(二)(条件构造器)

每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一) 每天玩转3分钟 MyBatis-Plus - 4. 高级查询(二) 代码下载:https://github.com/Jackson0714/study-mybatis-plus.git mybatis-plus的查询功能非常强大, 上一篇,我们通过例题的方式讲解了mybatis-plus的高级查询功能:条件

每天玩转3分钟 MyBatis-Plus - 3. 高级查询(一)(条件构造器)

每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 每天玩转3分钟 MyBatis-Plus - 3. 高级查询 代码下载:https://github.com/Jackson0714/study-mybatis-plus.git mybatis-plus的查询功能非常强大, 上一篇,我们介绍了mybatis-plus的普通查询功能,这一篇我们介绍mybatis-plus的高级查询功能.通过几个查询需求来讲解. 准备数据 U

mybatis研究:select性能对比

1 package sss.mybatis_1; 2 3 import java.io.InputStream; 4 import java.security.Principal; 5 import java.util.ArrayList; 6 import java.util.List; 7 import java.util.Properties; 8 import java.sql.*; 9 10 import com.mysql.jdbc.ConnectionImpl; 11 import

Java-MyBatis-杂项: MyBatis 中 in 的用法2

ylbtech-Java-MyBatis-杂项: MyBatis 中 in 的用法2 1.返回顶部 1. 一.简介 在SQL语法中如果我们想使用in的话直接可以像如下一样使用: select * from HealthCoupon where useType in ( '4' , '3' )但是如果在MyBatis中的使用in的话,像如下去做的话,肯定会报错: Map<String, Object> selectByUserId(@Param("useType") Stri

Mybatis映射器select

Mybatis映射器select 简单的select元素的应用 id 配合Mapper的全限定名,联合成为一个唯一的标示 parameterType 表示这条SQL接受的参数类型 resultType表示这条SQL返回的结果类型 #{firstName} 是被传递进去的参数 <select id="countUserByFirstName" parameterType="string" resultType="int"> select

如果给游戏都加上进度条,你还能玩上几分钟?

你根本不知道有多少关卡在前面等待,你还没有打通的每一个关卡甚至每一帧画面,总会带来惊喜. 文/张书乐 原载于<人民邮电报>2016年5月13日<乐游记>专栏102期 偶然间打开了在网络上火了几年的脱口秀节目<罗辑思维>,其中一期名为<游戏是个怎样的世界>让我颇有了点兴趣.可节目听到一半,就觉得不对味了. 自诩是个胖子的罗振宇在节目中秉承着一贯颠覆常规认知.从另一个角度切入来启发思维的话语逻辑,告诉听众说,其实在沉迷游戏的原因中,不仅包括"刷&quo

每天玩转3分钟 MyBatis-Plus - 1. 配置环境

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 准备工作:创建spring boot project 一.配置环境 1.1 配置pom.xml文件 1.1.1  引入 mybatis-plus 依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator&l

MyBatis的配置和用法

1.搭建MyBatis框架步骤: 1)导包:mybatis-3.2.5.jar(核心包):ojdbc14_11g.jar(连接数据库):-------------------------------------------------------------------------------------------------------------------------------------------------- 2)新建SqlMapConfig.xml配置文件: <?xml ver

MyBatis动态SQL标签用法

1.动态SQL片段 通过SQL片段达到代码复用 <!-- 动态条件分页查询 -->         <sql id="sql_count">                 select count(*)         </sql>         <sql id="sql_select">                 select *         </sql>         <sql i