IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MyBatis-Plus——条件构造器——QueryWrapper查询条件封装 -> 正文阅读

[大数据]MyBatis-Plus——条件构造器——QueryWrapper查询条件封装

1. Wrapper 条件构造抽象类,最顶端的父类

AbstractWrapper: 用于查询条件封装,生成sql的where条件
??QueryWrapper: 查询条件封装
??UpdateWrapper: Update条件封装

在这里插入图片描述

2. 条件构造器——mp实现复杂的查询操作

官方文档链接:https://baomidou.com/pages/10c804/#abstractwrapper

2.1 ge、gt、le、lt,isNull、isNotNull

  1. 查询所有年龄大于等于18的数据
@Test
public void testSelete(){
    QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
    userQueryWrapper
            .ge("age",18);    //age的值大于等于18
    List<User> users = userMapper.selectList(userQueryWrapper);
    System.out.println(users);
}

程序执行SQL日志打印:

==> Preparing: SELECT id,name,age,email,create_time,update_time,version,deleted FROM t_user WHERE deleted=0 AND (age >= ?)
==> Parameters: 18(Integer)
<==    Columns: id, name, age, email, create_time, update_time, version, deleted
<==        Row: 4, 铁蛋儿, 18, 20000502, 2022-09-11 20:24:56, 2022-09-11 20:25:08, 1, 0
<==        Row: 7, 铁蛋儿, 20, 848698119@qq.com, 2022-09-11 21:24:55, 2022-09-11 21:24:55, 1, 0
<==      Total: 2

2.2 eq、ne

查询所有name等于“铁蛋儿”的数据

@Test
public void testSelete(){
    QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
    userQueryWrapper
            .eq("name","铁蛋儿"); 
    List<User> users = userMapper.selectList(userQueryWrapper);
    System.out.println(users);
}

程序执行SQL日志打印:

==> Preparing: SELECT id,name,age,email,create_time,update_time,version,deleted FROM t_user WHERE deleted=0 AND (name = ?)
==> Parameters: 铁蛋儿(String)
<==    Columns: id, name, age, email, create_time, update_time, version, deleted
<==        Row: 4, 铁蛋儿, 18, 20000502, 2022-09-11 20:24:56, 2022-09-11 20:25:08, 1, 0
<==        Row: 7, 铁蛋儿, 20, 848698119@qq.com, 2022-09-11 21:24:55, 2022-09-11 21:24:55, 1, 0
<==      Total: 2

2.3 between、notBetween

包含大小边界

查询age在【18,20】的数据

@Test
public void testSelete(){
    QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
    userQueryWrapper
            .between("age",18,20);
    List<User> users = userMapper.selectList(userQueryWrapper);
    System.out.println(users);
}

程序执行SQL日志打印:

==> Preparing: SELECT id,name,age,email,create_time,update_time,version,deleted FROM t_user WHERE deleted=0 AND (age BETWEEN ? AND ?)
==> Parameters: 18(Integer), 20(Integer)
<==    Columns: id, name, age, email, create_time, update_time, version, deleted
<==        Row: 4, 铁蛋儿, 18, 20000502, 2022-09-11 20:24:56, 2022-09-11 20:25:08, 1, 0
<==        Row: 7, 铁蛋儿, 20, 848698119@qq.com, 2022-09-11 21:24:55, 2022-09-11 21:24:55, 1, 0
<==      Total: 2

2.4 like、notLike、likeLeft、likeRight

selectMaps()返回Map集合列表,通常配合select()使用

  • LIKE ‘%值%’
    例: like(“name”, “王”)—>name like ‘%王%’
  • NOT LIKE ‘%值%’
    例: notLike(“name”, “王”)—>name not like ‘%王%’
  • likeLeft = LIKE ‘%值’
    例: likeLeft(“name”, “王”)—>name like ‘%王’
  • likeRight = LIKE ‘值%’
    例: likeRight(“name”, “王”)—>name like ‘王%’
@Test
public void testSelete(){
    QueryWrapper<User> userQueryWrapper = new QueryWrapper<>();
    userQueryWrapper
            .like("name","铁");
    List<User> users = userMapper.selectList(userQueryWrapper);
    System.out.println(users);
}

程序执行SQL日志打印:

==> Preparing: SELECT id,name,age,email,create_time,update_time,version,deleted FROM t_user WHERE deleted=0 AND (name LIKE ?)
==> Parameters: %%(String)
<==    Columns: id, name, age, email, create_time, update_time, version, deleted
<==        Row: 4, 铁蛋儿, 18, 20000502, 2022-09-11 20:24:56, 2022-09-11 20:25:08, 1, 0
<==        Row: 7, 铁蛋儿, 20, 848698119@qq.com, 2022-09-11 21:24:55, 2022-09-11 21:24:55, 1, 0
<==      Total: 2

2.5 orderBy、orderBydesc、orderByAsc

排序操作

  • orderBy排序:ORDER BY 字段, … 默认升序
    例: orderBy(true, true, “id”, “name”)—>order by id ASC,name ASC
    在这里插入图片描述程序执行SQL日志打印:
    SELECT id,name,age,email,create_time,update_time,version,deleted FROM t_user WHERE deleted=0 ORDER BY id ASC,age ASC

  • orderBydesc排序:ORDER BY 字段, … DESC 降序
    例: orderByDesc(“id”, “name”)—>order by id DESC,name DESC
    在这里插入图片描述

  • orderByAsc排序:ORDER BY 字段, … ASC 升序
    例: orderByAsc(“id”, “name”)—>order by id ASC,name ASC
    在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:04:35  更:2022-09-15 02:07:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/15 23:20:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码