每天玩轉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 /* 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 }
查詢日志:

查詢結果:

每天玩轉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/
關於作者:專注於移動開發。如有問題或建議,請多多賜教!
版權聲明:本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。
特此聲明:所有評論和私信都會在第一時間回復。也歡迎園子的大大們指正錯誤,共同進步。或者直接私信我
聲援博主:如果您覺得文章對您有幫助,可以點擊文章右下角【推薦】一下。您的鼓勵是作者堅持原創和持續寫作的最大動力!

悟空聊架構
關注我,帶你每天進步一點點!
