MyBatisPlus之DQL编程控制

🐌个人主页: 🐌 叶落闲庭
💨我的专栏:💨
c语言
数据结构
javaEE
操作系统
石可破也,而不可夺坚;丹可磨也,而不可夺赤。
MyBatisPlus之DQL编程控制
- 一、 条件查询方式(三种格式)
- 二、 条件查询 -- -- null值处理
- 2.1 if语句控制追加
- 2.2 条件参数控制
- 2.3 条件参数控制(链式编程)
- 三、查询投影
- 3.1 查询结果包含模型类中部分属性
- 3.2 查询结果包含模型类中未定义的属性
一、 条件查询方式(三种格式)
- MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合
- 格式一:常规格式
//方式一:按条件查询QueryWrapper qw = new QueryWrapper();//小于3qw.lt("id",3);List userList = userDao.selectList(qw);System.out.println(userList);
- 格式二:链式编程查询
QueryWrapper qw = new QueryWrapper();//小于3大于1qw.lt("id",3).gt("id",1);List userList = userDao.selectList(qw);System.out.println(userList);
- 格式三:lambda格式(推荐)
//方式三:lambda格式按条件查询LambdaQueryWrapper<User> lwq = new LambdaQueryWrapper<>();//id为1到3之间lwq.lt(User::getId,3);lwq.gt(User::getId,1);//id为小于2或者大于3//链式查询lwq.lt(User::getId,2).or().gt(User::getId,3);List userList = userDao.selectList(lwq);System.out.println(userList);
- 并且:
qw.lt("id",3).gt("id",1);
- 或者:
lwq.lt(User::getId,2).or().gt(User::getId,3);
二、 条件查询 – – null值处理
2.1 if语句控制追加
UserQuery uq = new UserQuery();uq.setId(1);uq.setId2(3);//null判定LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();if(null != uq.getId()) {lqw.lt(User::getId,uq.getId2());}if(null != uq.getId2()) {lqw.gt(User::getId,uq.getId());}List<User> userList = userDao.selectList(lqw);System.out.println(userList);
2.2 条件参数控制
//先判定第一个参数是否为true,如果为true,连接当前条件UserQuery uq = new UserQuery();uq.setId(1);uq.setId2(3);//null判定LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();lqw.gt(null!=uq.getId2(), User::getId, uq.getId())lqw.lt(null!= uq.getId(),User::getId,uq.getId2());List<User> userList = userDao.selectList(lqw);System.out.println(userList);
2.3 条件参数控制(链式编程)
//先判定第一个参数是否为true,如果为true,连接当前条件UserQuery uq = new UserQuery();uq.setId(1);uq.setId2(3);//null判定LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();lqw.gt(null!=uq.getId2(), User::getId, uq.getId()).lt(null!= uq.getId(),User::getId,uq.getId2());List<User> userList = userDao.selectList(lqw);System.out.println(userList);
三、查询投影
3.1 查询结果包含模型类中部分属性
LambdaQueryWrapper<User> lqw = new LambdaQueryWrapper<>();lqw.select(User::getId,User::getAddr);List<User> userList = userDao.selectList(lqw);System.out.println(userList);
3.2 查询结果包含模型类中未定义的属性
QueryWrapper<User> qw = new QueryWrapper<>();qw.select("count(*) as count");qw.groupBy("gender");List<Map<String, Object>> userList = userDao.selectMaps(qw);System.out.println(userList);
相关文章:
MyBatisPlus之DQL编程控制
🐌个人主页: 🐌 叶落闲庭 💨我的专栏:💨 c语言 数据结构 javaEE 操作系统 石可破也,而不可夺坚;丹可磨也,而不可夺赤。 MyBatisPlus之DQL编程控制 一、 条件查询方式&…...
本地使用GFPGAN进行图像人脸修复
人脸修复 1.下载项目和权重文件2.部署环境3.下载权重文件4.运行代码5.网页端体验 首先来看一下效果图 1.下载项目和权重文件 https://github.com/iptop/GFPGAN-for-Video.git2.部署环境 根据README文件部署好环境,额外还需要: cd GFPGAN-1.3.8 pyt…...
Linux--进程概念
1.什么是程序?什么是进程?有什么区别? 程序:是静态的概念,gcc xxx.c -o pro 磁盘中生成的pro文件,叫做程序。 进程:是程序的一种与运行活动,通俗的意思是程序跑起来了,系…...
dex2oat编译模式、触发场景、命令强制执行
dex2oat简单理解就是把delvik虚拟机的可执行文件dex转化成AndroidRuntime虚拟机的可执行文件oat。 Android T版本由PKMS下发命令、native层进程installd负责具体执行dex2oat操作。installd回去调用dex2oat64完成编译工作,可以将dex2oat64理解成一个程序。源码路径&…...
深度学习 | TCN时间卷积神经网络模型答疑
深度学习 | TCN时间卷积神经网络模型答疑 目录 深度学习 | TCN时间卷积神经网络模型答疑问题汇总问题回答参考资料问题汇总 1.使用 TCN 进行序列建模有哪些优势? 2.TCN 的特征? 问题回答 1.使用 TCN 进行序列建模具备以下优势: 并行性。与 RNN 中后继时间步长的预测必须等待…...
Linux之修改服务端口号
本次演示以SSH服务为例,SSH默认监听端口是22,先保留了22端口,所以我们要进入ssh的配置文件添加新端口并注释或删掉原有端口。 1、使用vi编辑器修改文件 sshd_config,路径是/etc/ssh/sshd_config,找到“#Port 22”,添加新的端口号10086。 2、如果你关闭了…...
LeetCode笔记:Weekly Contest 361
LeetCode笔记:Weekly Contest 361 0. 吐槽1. 题目一 1. 解题思路2. 代码实现 2. 题目二 1. 解题思路2. 代码实现 3. 题目三 1. 解题思路2. 代码实现 4. 题目四 1. 解题思路2. 代码实现 比赛链接:https://leetcode.com/contest/weekly-contest-361 0. …...
Springboot快速搭建Web API项目
内容概述 SpringBoot最常见得用途就是web api项目。 本文介绍使用自动配置功能,通过最简洁的pom依赖,快速搭建一个示例项目。 实现的功能为:接收http请求并返回json格式的数据。 一、配置pom.xml依赖 1.引入springweb依赖 <dependenc…...
数据结构day06(单向循环链表、双向链表)
双向链表的练习代码 head.h #ifndef __HEAD_H__ #define __HEAD_H__ #include <stdio.h> #include <stdlib.h> #include <string.h> typedef int database; typedef struct double_link_list{union{database data;int len;};struct double_link_list* pre;…...
zabbix -- 新建主机
目录 一、新建主机 二、新建监控项 IP主机192.168.136.55zabbix控制端/服务端192.168.136.56zabbix被控端/客户端 一、新建主机 主机参数 名称、群组(每台主机必须属于某个主机组内)、ip、端口 创建完成,如果你的ZBX为灰色,代…...
=>符号含义
>主要有两方面的作用,一个限制属性状态,另一个简化匿名委托和Lambda 用法一:定义只读属性 public class ManPeople { public string Sex > "男";public string Name { get; set; }}public class WomanPeople { publi…...
Docker+Jenkins(blueocean)+Gitee构建CICD流水线实战
一、配置JDK 1.1 编辑profile文件 vim /etc/profile export JAVA_HOME/home/jdk/jdk1.8.0_301 export JRE_HOME$JAVA_HOME/jre export CLASSPATH.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib export PATH$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 1.2 使配置生效 source /etc/pro…...
Redis快速入门
文章目录 0. Redis介绍1. Centos下Redis安装2. redis.conf配置文件介绍3. redis相关命令4.redis中发布订阅和事务4.1 发布订阅(Pub/Sub)4.2 事务 5. redis封装系统服务6. 问题与解决6.1 启动Redis报错:Could not create Server TCP listening…...
EasyExcel 修改导出的文件属性
EasyExcel 修改导出的文件属性 导出的文件有多种属性,本文只针对sheet名称进行举例 需要自定义拦截器 ExcelWriter excelWriter EasyExcel.write(fileName).withTemplate(stream).registerWriteHandler(new TemplateSheetStrategyHandler()).build()registerWriteHandler (n…...
电子班牌云平台系统——智慧校园管理工具,多媒体信息发布、走班排课、家校互通、物联控制、教务管理、考勤管理、素质评价、日常办公
电子班牌云平台源码,saas模式微服务架构 电子班牌是一款智慧校园管理工具,也是校园多媒体展示平台。智慧班牌融合了多媒体信息发布、走班排课、家校互通、物联控制、教务管理、考勤管理、素质评价、日常办公等一系列应用,是校园管理的现代化手…...
docker-compose 部署 Seata整合nacos,Postgresql 为DB存储
docker-compose 部署 Seata整合nacos,Postgresql 为DB存储 环境 详情环境可参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 我这里 <spring.cloud.alibaba-version>2021.1</spring.cloud.alibaba-version>所…...
three.js 场景中如何彻底删除模型和性能优化
three.js 场景中如何彻底删除模型和性能优化 删除外部模型 在three.js场景中,要彻底删除外部模型,需要执行以下几个步骤: 从场景中移除模型 你可以使用 scene.remove(model) 或者 scene.remove(model.children[0]) 将模型从场景中移除。如果…...
Bridge Champ举办人机对战赛:NFT游戏与传统竞技共生发展编织新格局
概要 现在,NFT与体育竞技正日益紧密地联系在一起。一些体育项目开始推出与赛事或球队相关的NFT,同时也有部分NFT游戏开始举办电子竞技赛事。这种共生发展正在改变体育竞技的生态。 笔者采访了桥牌冠军项目相关负责人,探讨NFT游戏与传统体育竞技的融合潜力。桥牌冠军近期成功举…...
Visual Studio软件_MSC_VER值(MSVC编译器版本)的获取方法
本文介绍查看Visual Studio软件_MSC_VER值的方法。 _MSC_VER是微软公司推出的C/C 编译器——MSVC编译器的一个内置宏,其值表示当前Visual Studio软件中MSVC编译器的具体版本。不同的Visual Studio软件版本对应着不同的MSVC编译器版本——无论是不同发布年份的版本&…...
02-Linux-IO多路复用之select、poll和epoll详解
前言: 在linux系统中,实际上所有的 I/O 设备都被抽象为了文件这个概念,一切皆文件,磁盘、网络数据、终端,甚至进程间通信工具管道 pipe 等都被当做文件对待。 在了解多路复用 select、poll、epoll 实现之前ÿ…...
NotebookLM相似文档推荐不准,深度解析向量维度坍缩、跨域语义漂移与上下文窗口截断三大根源问题
更多请点击: https://intelliparadigm.com 第一章:NotebookLM相似文档推荐不准的系统性现象观察 在实际使用 NotebookLM 过程中,用户频繁反馈其“相似文档推荐”功能存在显著偏差:高语义相关但低表面重合度的文档常被遗漏&#x…...
别再手动改参数了!用Fluent 2023R1的Parametric模块,5分钟搞定N个工况的批量仿真
Fluent 2023R1参数化模块实战:从单点仿真到智能设计空间探索 在计算流体动力学(CFD)领域,工程师们常常需要面对一个现实困境:如何高效完成数十种工况的参数扫描?传统手动修改边界条件的方式不仅耗时费力&am…...
量子退火与模拟退火:工业优化算法对比与应用
1. 量子优化算法概述在工业优化领域,寻找复杂问题的最优解一直是个巨大挑战。量子计算的出现为解决这类问题提供了全新思路。量子退火(Quantum Annealing)和模拟退火(Simulated Annealing)作为两种核心优化方法&#x…...
2026届必备的AI辅助论文网站解析与推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术研究的范畴之内,高效且可靠的AI辅助工具正逐渐演变成学者以及学生的得力帮…...
ElevenLabs语音克隆效果翻倍秘技(实测SSML+声纹嵌入+噪声抑制三重优化)
更多请点击: https://intelliparadigm.com 第一章:ElevenLabs语音克隆效果翻倍秘技(实测SSML声纹嵌入噪声抑制三重优化) ElevenLabs 的语音克隆能力虽强,但原始 API 调用常因语调扁平、背景干扰与韵律失真导致真实感不…...
【免费下载】 Airplayer:苹果设备投屏的终极解决方案
Airplayer:苹果设备投屏的终极解决方案 【下载地址】Airplayer苹果投屏软件 Airplayer是一款专为苹果设备设计的高效投屏软件,它允许用户轻松地将iPhone或iPad屏幕的内容无线传输到电脑上显示。无论是播放视频、展示照片、进行会议演示还是游戏分享&…...
量子计算在流体动力学中的创新应用:PolyQROM技术解析
1. 量子计算与流体动力学:PolyQROM的创新突破在计算流体力学(CFD)领域,高精度模拟一直是科研和工程实践的圣杯。传统基于Navier-Stokes方程的数值模拟,其计算复杂度随雷诺数呈立方级增长,使得高雷诺数流动的…...
AltSnap:重新定义Windows窗口管理效率的革命性工具
AltSnap:重新定义Windows窗口管理效率的革命性工具 【免费下载链接】AltSnap Maintained continuation of Stefan Sundins AltDrag 项目地址: https://gitcode.com/gh_mirrors/al/AltSnap 你是否曾经在Windows系统中为繁琐的窗口操作而烦恼?当需要…...
SAP Smartforms避坑指南:从‘没有输出请求打开’到字体设置,手把手解决5个高频问题
SAP Smartforms实战避坑手册:5个高频问题深度解析与解决方案 在SAP项目实施过程中,Smartforms作为企业级报表输出的核心工具,几乎每个ABAP开发者都会与之打交道。表面上看,它提供了直观的图形化界面,似乎比传统的SAPsc…...
AI 编程能力实战基准测试报告:编程能力评估体系 (Programming Capability Benchmark)
🤖 AI 编程能力实战基准测试报告:编程能力评估体系 (Programming Capability Benchmark) 文件目标: 一份用于评估当前顶级生成式模型(如GPT-5.5, Claude 4.7, Deepseek V4等)实际软件开发能力和系统级思维的权威指南。 核心原则: …...
