MyBatis Plus条件构造器使用

news2024/11/23 18:51:34


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);
    }

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AVL树模拟

1.概念 虽然二叉搜索树可以缩短查找的效率&#xff0c;但如果数据有序或者接近有序时二叉搜索树树将退化为单支树&#xff0c;查找元素相当于在顺序表中搜索元素&#xff0c;效率低下。AVL 树是具有一下性质的二叉搜索树&#xff1a; 1.它的左右子树都是AVL树 2.左右子…

[Go 微服务] Kratos 使用的简单总结

文章目录 1.Kratos 简介2.传输协议3.日志4.错误处理5.配置管理6.wire 1.Kratos 简介 Kratos并不绑定于特定的基础设施&#xff0c;不限定于某种注册中心&#xff0c;或数据库ORM等&#xff0c;所以您可以十分轻松地将任意库集成进项目里&#xff0c;与Kratos共同运作。 API -&…

《mysql篇》--查询(进阶)

目录 将查询结果作为插入数据 聚合查询 聚合函数 count sum group by子句 having 联合查询 笛卡尔积 多表查询 join..on实现多表查询 内连接 外连接 自连接 子查询 合并查询 将查询结果作为插入数据 Insert into 表2 select * from 表1//将表1的查询数据插入…

【UE 网络】专用服务器和多个客户端加入游戏会话的过程,以及GameMode、PlayerController、Pawn的创建流程

目录 0 引言1 多人游戏会话1.1 Why&#xff1f;为什么要有这个1.2 How&#xff1f;怎么使用&#xff1f; 2 加入游戏会话的流程总结 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;【UE 网络】在网络…

爬坑之 [‘NODE_ENV‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。]

在package.json中配置如下&#xff1a; 执行npm run dev启动 报错&#xff1a; 实际上, NODE_ENVdevelopment webpack-dev-server 这条脚本会合并为两条命令执行&#xff0c; 分别为&#xff1a; NODE_EVNdevelopment webpack-dev-server 这种写法在cmd中是不被支持的 解决…

Bootstrap更改默认的“请在电子邮件地址中包含@”

摘要&#xff1a; 今天开发一个外贸系统&#xff0c;必须全部英文的&#xff0c;但是使用到bootatrp 4的input标签的type"email"输入没有含“”符号时会提示&#xff1a;“请在电子邮件地址中包含”中文提示&#xff01;一开始以为是中国下载的谷歌是浏览器自带的提示…

计算机网络知识整理笔记

目录 1.对网络协议的分层&#xff1f; 2.TCP/IP和UDP之间的区别&#xff1f; 3.建立TCP连接的三次握手&#xff1f; 4.断开TCP连接的四次挥手&#xff1f; 5.TCP协议如何保证可靠性传输&#xff1f; 6.什么是TCP的拥塞控制&#xff1f; 7.什么是HTTP协议&#xff1f; 8…

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

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

【计算机图形学】期末考试知识点汇总

文章目录 第一章计算机图形学概述计算机图形学的定义计算机图形学的应用计算机图形学 vs 图像处理 vs模式识别图形显示器的发展及工作原理理解三维渲染管线 第二章 基本图元的扫描转换扫描转换直线的扫描转换DDA算法Bresenham算法中点画线算法圆的扫描转换中点画圆算法反走样 第…

2024steam夏促商店打不开、steam活动加载不了解决方法一览

今年的夏促终于开始了!目前可以看到很多精品小游戏在促销列表内&#xff0c;活动正式开启后还不知道又会是怎样的一幅场景。因为每年夏促都会有不少刚高考完的新手加入&#xff0c;遇到常见的steam商店打不开、活动页面不加载等问题不知道怎么解决。所以这里给大家准备了几种常…

从零创建深度学习张量库,支持gpu并行与自动微分

多年来&#xff0c;我一直在使用 PyTorch 构建和训练深度学习模型。尽管我已经学会了它的语法和规则&#xff0c;但总有一些东西激起了我的好奇心&#xff1a;这些操作内部发生了什么&#xff1f;这一切是如何运作的&#xff1f; 如果你已经到这里&#xff0c;你可能也有同样的…

mybatis的高级映射

mybatis的高级映射(重点) 表与表之间的关系&#xff1a; 一对一关系&#xff1a; 栗子&#xff1a;一个人对应一个身份证号 一对多关系&#xff1a; 栗子&#xff1a;一个用户可以有多个订单 1. 分析需求&…

权限维持-域环境单机版---粘滞键屏保登录

免责声明;本文仅做技术交流与学习,,, 目录 粘滞键: 粘滞键位置&#xff1a; 屏保&登录: 1、WinLogon配合无文件落地上线 结合ps命令: 2、屏幕保护生效后执行后门 粘滞键: Windows维权之粘滞键项维权-腾讯云开发者社区-腾讯云 (tencent.com) 系统自带的辅助功能进行替…

LNBxx21的功能

LNBxx21功能&#xff1a; LNBxx21 家族是为卫星LNB模块供电/连接LNB块与接收机的集成化解决方案。LNBxx21的很多功能可以让LNB电源/接口符合国际标准&#xff0c;此外&#xff0c;模块内还包括一个I2C总线接口&#xff0c;因为集成了一个升压直流-直流控制器&#xff0c;所以可…

MySQL InnoDB支持几种行格式

数据库表的行格式决定了一行数据是如何进行物理存储的&#xff0c;进而影响查询和DML操作的性能。 在InnoDB中&#xff0c;常见的行格式有4种&#xff1a; 1、COMPACT&#xff1a;是MySQL 5.0之前的默认格式&#xff0c;除了保存字段值外&#xff0c;还会利用空值列表保存null…

zabbix-agent2启动失败报错Unit zabbix-agent2.service entered failed state.

文章目录 1&#xff0c;用systemctl status zabbix-agent2查看报错状态2&#xff0c;用journalctl -xe查看一下报错日志3&#xff0c;再看一下zabbix的日志。4&#xff0c;错误修改5&#xff0c; 再次重启zabbix-agent2 1&#xff0c;用systemctl status zabbix-agent2查看报错…

【漏洞复现】Atlassian Confluence RCE(CVE-2023-22527)

产品简介 Atlassian Confluence 是一款由Atlassian开发的企业团队协作和知识管理软件&#xff0c;提供了一个集中化的平台&#xff0c;用于创建、组织和共享团队的文档、知识库、项目计划和协作内容。是面向大型企业和组织的高可用性、可扩展性和高性能版本。 0x02 漏洞概述 …

综合布线实训室建设可行性报告

1、 建设综合布线实训室的目的和意义 1.1 响应国家职业教育政策 在国家对职业教育的高度重视和政策支持下&#xff0c;综合布线实训室的建设不仅是对国家教育方针的积极响应&#xff0c;也是对技术教育改革的有力推动。通过这一平台&#xff0c;我们旨在培育出一批具有强烈实…

全面体验ONLYOFFICE 8.1版本桌面编辑器

ONLYOFFICE官网 在当今的数字化办公环境中&#xff0c;选择合适的文档处理工具对于提升工作效率和团队协作至关重要。ONLYOFFICE 8.1版本桌面编辑器&#xff0c;作为一款集成了多项先进功能的办公软件&#xff0c;为用户提供了全新的办公体验。今天&#xff0c;我们将深入探索…

[linux]sed命令基础入门详解

sed是一种流编辑器&#xff0c;它一次处理一行内容。处理时&#xff0c;把当前处理的行存储在临时缓冲区中&#xff0c;称为“模式空间”&#xff0c;接着用sed命令处理缓冲区中的内容&#xff0c;处理完成后&#xff0c;把缓冲区的内容送往屏幕。接着处理下一行&#xff0c;这…