MyBatis Plus条件构造器使用


1Wrapper: 条件构造抽象类,最顶端父类
1.1 AbstractWrapper: 用于查询条件封装,生成 sql 的 where 条件
1.2 QueryWrapper: Entity 对象封装操作类,不是用lambda语法
1.3 UpdateWrapper: Update 条件封装,用于Entity对象更新操作
1.4 AbstractLambdaWrapper: Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
1.5 LambdaQueryWrapper:看名称也能明白就是用于Lambda语法使用的查询Wrapper
1.6 LambdaUpdateWrapper: Lambda 更新封装Wrapper

使用Wrapper构建条件

常见查询

gegtleltisNullisNotNull

@RequestMapping("SelectMapComplex")
@ResponseBody
public List<User> SelectMapComplex(){
    //创建QueryWrapper对象
    QueryWrapper<User> queryWrapper = new QueryWrapper<>();

    //通过QueryWrappershe设置条件
    //如果name不等于空,并且age大于22,并且email不等于空,执行删除
    queryWrapper.isNotNull("name")
            //ge:>=   gt:>    le:<=    lt:<   idea控制台 <> 相当于  !=
            .gt("age",22)
            .isNotNull("email");
    //查询
    List<User> users = userMapper.selectList(queryWrapper);

    return users;
}

访问:http://localhost:8888/SelectMapComplex
控制台打印的sql

SELECT id,name,age,email,create_time,update_time,version,deleted FROM user WHERE deleted=0 AND (name IS NOT NULL AND age > 22 AND email IS NOT NULL)

范围查询

    @RequestMapping("SelectMapComplex")
    @ResponseBody
    public List<User> SelectMapComplex(){
        //创建QueryWrapper对象
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
    
        //通过QueryWrappershe设置条件
        //如果name不等于空,并且age大于22,并且email不等于空,执行删除
    
        //between  范围查询
        //查询 年龄 20-30 之间的数据
        queryWrapper.between("age",18,30);
        List<User> users = userMapper.selectList(queryWrapper);
    
        return users;
    }

模糊查询


    /**
     * 模糊查询
     * @return
     */
    @RequestMapping("SelectMapComplex")
    @ResponseBody
    public List<User> SelectMapComplex(){
        //创建QueryWrapper对象
        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
        //模糊查询
        queryWrapper.like("name", "余十步");
        List<User> users = userMapper.selectList(queryWrapper);
        
        return users;
    }

查询方法大全

 
 /**
     * 查询方法大全
     * @return
     */
    @RequestMapping("SelectMapComplex")
    @ResponseBody
    public void SelectMapComplex(){
        QueryWrapper<User> wrapper = new QueryWrapper<>();

        //通过QueryWrapper设置条件
        //ge、gt、le、lt
        //查询age>=30记录
        //第一个参数字段名称,第二个参数设置值
//        wrapper.ge("age",30);

        //eq、ne
        //wrapper.eq("name","lilei");
        //wrapper.ne("name","lilei");

        //between
        //查询年龄 20-30
        // wrapper.between("age",20,30);

        //like
        //wrapper.like("name","岳");

        //orderByDesc
        // wrapper.orderByDesc("id");

        //last
        //wrapper.last("limit 1");

        //指定要查询的列
        wrapper.select("id","name");

        List<User> users = userMapper.selectList(wrapper);
        System.out.println(users);
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/756491.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[Go 微服务] go-micro + consul 的使用

文章目录 1.go-micro 介绍2.go-micro 的主要功能3.go-micro 安装4.go-micro 的使用4.1 创建服务端4.2 配置服务端 consul4.3 生成客户端 5.goodsinfo 服务5.1 服务端开发5.2 客户端开发 1.go-micro 介绍 Go Micro是一个简化分布式开发 的微服务生态系统&#xff0c;该系统为开…

java热部署idea插件「jrebel安装教程」

告别漫长的项目重启等待&#xff0c;让开发像写诗一样流畅~ jrebel安装包下载 jrebel版本需要下比较老的版本&#xff0c;我用的是22.4.1的版本&#xff08;如果不差钱&#xff0c;可以支持一下正版&#xff0c;直接选择最新的版本即可&#xff09; 下载地址&#xff1a;传送门…

Python逻辑控制语句 之 判断语句--if else结构

1.if else 的介绍 if else &#xff1a;如果 ... 否则 .... 2.if else 的语法 if 判断条件: 判断条件成立&#xff0c;执行的代码 else: 判断条件不成立&#xff0c;执行的代码 &#xff08;1&#xff09;else 是关键字, 后⾯需要 冒号 &#xff08;2&#xff09;存在冒号…

链表-求链表中环的入口结点(easy)

目录 一、问题描述 二、解题思路 三、代码实现 四、刷题链接 一、问题描述 二、解题思路 本题基本思路&#xff1a; 1.设置一个hashSet来存储已经访问过的链表结点地址&#xff0c;注意不要直接存储链表内元素&#xff0c;因为链表内元素可能存在重复的&#xff0c;地址是不…

uniapp uniCloud云开发

uniCloud概述 uniCloud 是 DCloud 联合阿里云、腾讯云、支付宝云&#xff0c;为开发者提供的基于 serverless 模式和 js 编程的云开发平台。 uniCloud 的 web控制台地址&#xff1a;https://unicloud.dcloud.net.cn 文档&#xff1a;https://doc.dcloud.net.cn/uniCloud/ un…

【高考志愿】集成电路科学与工程

目录 一、专业概述 二、课程设置 三、就业前景 四、适合人群 五、院校推荐 六、集成电路科学与工程专业排名 一、专业概述 集成电路科学与工程&#xff0c;这一新兴且引人注目的交叉学科&#xff0c;正在逐渐崭露头角。它集合了电子工程、计算机科学、材料科学等多个领域的…

Kotlin中对空的很多处理

代码图片直观效果 逐行解释Kotlin中对空的各种情况的使用 private fun testNull() {val flag 1var name: String? nullvar user: User? // 有警告, 因为下面的赋值可以和这一行定义合并var zhangUser: User? User()var wangUser: User User() // 提示Explicitly given t…

Unity 字体创建时候容易导致字体文件不正确的一种情况

上面得到了两种字体格式&#xff0c;一种是TextMeshPro的&#xff0c;另一种是Unity UI系统中默认使用的字体资源。其原因是创建的位置不同导致的。 1.下面是TextMeshPro字体创建的位置 2&#xff1a;下面是Unity UI系统中默认使用的字体资源

Java学习【IO流:深入理解与应用(上)】

Java学习【IO流&#xff1a;深入理解与应用&#xff08;上&#xff09;】 &#x1f343;1.IO流体系结构&#x1f343;2.FileOutputStream&#x1f341;2.1FileOutputStream写数据的三种方式&#x1f341;2.2换行和续写 &#x1f343;3.FileInputStream&#x1f341;3.1每次读取…

pbootcms后台获取前端表单留言页面url

pbootcms在线留言表单&#xff0c;用户在网页前端提交表单成功后&#xff0c;在网站后台如何获取表单留言页面的url这个参数呢&#xff1f;下面举例说明&#xff1a;首先&#xff0c;我们在PBootcms后台对应的表单&#xff0c;添加需要记录的表单字段&#xff0c;例如 添加liuy…

微服务-网关Gateway

个人对于网关路由的理解&#xff1a; 网关就相当于是一个项目里面的保安&#xff0c;主要作用就是做一个限制项。&#xff08;zuul和gateway两个不同的网关&#xff09; 在路由中进行配置过滤器 过滤器工厂&#xff1a;对请求或响应进行加工 其中filters&#xff1a;过滤器配置…

停车场智能化管理:车位引导系统实现车位资源优化与数据分析

随着城市汽车保有量的不断增长&#xff0c;停车难问题日益凸显。尤其是在高峰时段&#xff0c;寻找停车位和取车成为了许多车主的头疼问题。为了解决这一难题&#xff0c;维小帮智能车位引导系统应运而生&#xff0c;它利用先进的技术手段&#xff0c;帮助车主快速找到停车位&a…

PySide(PyQt)在图像上画线

1、按鼠标左键任意画线 import sys from PySide6.QtWidgets import QApplication, QLabel, QVBoxLayout, QWidget from PySide6.QtGui import QPainter, QPixmap, QMouseEvent, QColor, QPen from PySide6.QtCore import Qt, QPointclass PaintLabel(QLabel):def __init__(self…

Linux自动化交互脚本expect开发

在日常开发任务中&#xff0c;运行shell脚本有时候会提示输入密码的操作&#xff0c;如何让脚本自动输入密码呢&#xff1f;这时使用expect帮我们输入&#xff0c;Expect是基于Tcl发展而来的&#xff0c;它不仅可以进行交互&#xff0c;还可以根据程序的提示模拟标准输入&#…

pytorch-01

加载mnist数据集 one-hot编码实现 import numpy as np import torch x_train np.load("../dataset/mnist/x_train.npy") # 从网站提前下载数据集&#xff0c;并解压缩 y_train_label np.load("../dataset/mnist/y_train_label.npy") x torch.tensor(y…

【JVM-01】引言

【JVM-01】引言 1. 什么是JVM&#xff1f;2. JDK、JRE、JVM比较3.常用的JVM有那些4.学习路线 1. 什么是JVM&#xff1f; JVM即 Java Virtual Machine(Java虚拟机)&#xff0c;是Java程序运行的环境(Java 二进制字节码运行环境)。 好处&#xff1a; 一次编写&#xff0c;到处…

【自然语言处理系列】掌握jieba分词器:从基础到实战,深入文本分析与词云图展示

本文旨在全面介绍jieba分词器的功能与应用&#xff0c;从分词器的基本情况入手&#xff0c;逐步解析全模式与精确模式的不同应用场景。文章进一步指导读者如何通过添加自定义词典优化分词效果&#xff0c;以及如何利用jieba分词器进行关键词抽取和词性标注&#xff0c;为后续的…

Python数据分析案例48——二手房价格影响因素分析

案例背景 房价影响因素也是人们一直关注的问题&#xff0c;本次案例也适合各种学科的同学&#xff0c;无论你是经济管理类还是数学统计&#xff0c;还是电商物流类&#xff0c;都可以使用回归分析。通过数据分析回归分析分组聚合可视化等方法进行研究房价影响因素。 数据介绍 …

【C++】数组、字符串

六、数组、字符串 讨论数组离不开指针&#xff0c;指针基本上就是数组的一切的基础&#xff0c;数组和指针的相关内容参考我的C系列博文&#xff1a;【C语言学习笔记】四、指针_通过变量名访问内存单元中的数据缺点-CSDN博客【C语言学习笔记】三、数组-CSDN博客 1、数组就是&…

高精密机械设备中滚珠导轨的表面处理工艺有哪些?

滚珠导轨是机床传动和定位的传动元件&#xff0c;其表面处理方式对机床性能和使用寿命起着决定性的作用&#xff0c;不同的表面处理方法可以提高导轨的耐磨性、抗腐蚀性和整体性能。那么&#xff0c;滚珠导轨的表面处理方式有哪几种呢&#xff1f; 1、磨削法&#xff1a;磨削技…