MyBatis--02-1- MybatisPlus----条件构造器

news2024/9/24 9:27:02

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • AbstractWrapper 条件构造器
    • 官网文档
        • https://baomidou.com/pages/10c804/#abstractwrapper](https://baomidou.com/pages/10c804/#abstractwrapper)![在这里插入图片描述
    • 案例
    • allEq
    • eq
    • ne
    • gt 、ge 、lt、le
    • between 、notBetween
    • like、notLike、likeLeft、likeRight、notLikeLeft、notlikeRight
    • isNull、isNotNull
    • in、notIn
    • inSql、notInSql
    • exists、notExists
    • groupBy
    • orderByAsc、orderByDesc、orderBy
    • having
    • func
    • or
    • and
    • nested
    • apply
    • last
    • QueryWrapper
    • UpdateWrapper


前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

AbstractWrapper 条件构造器

官网文档

https://baomidou.com/pages/10c804/#abstractwrapper在这里插入图片描述

案例

@Test
	public void testSelect01(){

		List<User> userList = userDao.selectList(null);
		System.out.println(userList);
	}

	/**
	 * 业务: 查询id=11的用户信息   主键...
	 */
	@Test
	public void testSelect02(){

		User user = userDao.selectById(11);
		System.out.println(user);
	}

	/**
	 * 业务: 查询name属性为"小乔"的数据
	 * sql:  select * from user where name="小乔";
	 * 对象的方式  >  sql方式
	 */
	@Test
	public void testSelect03(){
		//条件构造器
		QueryWrapper<User> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("name", "小乔");
		List<User> userList = userDao.selectList(queryWrapper);
		System.out.println(userList);
	}

	/**
	 * 业务: 查询name属性为"小乔"的数据 并且 age >=18岁
	 * sql:  select * from user where name="小乔" and age>=18;
	 *
	 * 大于   >  gt| 小于 <  lt   |
	 * 大于等于  >= ge  |  小于等于 le
	 */
	@Test
	public void testSelect04(){
		//条件构造器
		QueryWrapper<User> queryWrapper = new QueryWrapper<>();
		queryWrapper.eq("name", "小乔")
				    .ge("age", 18);
		List<User> userList = userDao.selectList(queryWrapper);
		System.out.println(userList);
	}

	/**
	 * 业务: 查询name中包含 "精"的用户,并且sex为女
	 * 业务: 查询name中包含 以精结尾的数据,并且sex为女
	 * sql:  select * from user where name like "%精%" and sex="女";
	 */
	@Test
	public void testSelect05(){
		//条件构造器
		QueryWrapper<User> queryWrapper = new QueryWrapper<>();
		queryWrapper.likeLeft("name", "精")
				    .eq("sex", "女");
		List<User> userList = userDao.selectList(queryWrapper);
		System.out.println(userList);
	}

	/**
	 * 需求: 查询user表中的数据 要求按照年龄降序排列,如果年龄相同按照id降序排列
	 */
	@Test
	public void testSelect06(){
		QueryWrapper<User> queryWrapper = new QueryWrapper<>();
		queryWrapper.orderByDesc("age","id");
		List<User> userList = userDao.selectList(queryWrapper);
		System.out.println(userList);
	}

	/**
	 * 需求: 查询name属性为null的数据.
	 * where name is null
	 */
	@Test
	public void testSelect07(){
		QueryWrapper<User> queryWrapper = new QueryWrapper<>();
		queryWrapper.isNull("name");
		List<User> userList = userDao.selectList(queryWrapper);
		System.out.println(userList);
	}

	/**
	 * 查询name="小乔" age=17 性别=女的用户
	 * 如果传递的是对象.会根据对象中不为null的属性充当where条件.
	 */
	@Test
	public void testSelect08(){
		User user = new User();
		user.setName("小乔").setAge(17).setSex("女");
		QueryWrapper<User> queryWrapper = new QueryWrapper<>(user);
		List<User> userList = userDao.selectList(queryWrapper);
		System.out.println(userList);
	}

	/**
	 * 查询id=1,3,5,10数据.
	 * sql: select * from user where id in (1,3,5,10)
	 */
	@Test
	public void testSelect09(){
		//转化时,注意使用对象的类型
		Integer[] ids = {1,3,5,10};
		List<Integer> idList = Arrays.asList(ids);
		List<User> userList = userDao.selectBatchIds(idList);
		System.out.println(userList);
	}

	@Test
	public void testInsert(){
		User user = new User();
		user.setName("特朗普").setAge(70).setSex("男");
		userDao.insert(user);
	}


allEq

在这里插入图片描述
在这里插入图片描述

eq

在这里插入图片描述

ne

在这里插入图片描述

gt 、ge 、lt、le

在这里插入图片描述
在这里插入图片描述

between 、notBetween

在这里插入图片描述

like、notLike、likeLeft、likeRight、notLikeLeft、notlikeRight

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

isNull、isNotNull

在这里插入图片描述

in、notIn

在这里插入图片描述
在这里插入图片描述

inSql、notInSql

在这里插入图片描述
在这里插入图片描述

exists、notExists

在这里插入图片描述

groupBy

在这里插入图片描述

orderByAsc、orderByDesc、orderBy

在这里插入图片描述
在这里插入图片描述

having

在这里插入图片描述

func

在这里插入图片描述

or

在这里插入图片描述

and

在这里插入图片描述

nested

在这里插入图片描述

apply

在这里插入图片描述

last

在这里插入图片描述

QueryWrapper

在这里插入图片描述

UpdateWrapper

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

MyBatisPlus:PG数组类型自动映射问题

引言: PostGreSQL数据库提供了丰富的数据类型,通过查看官网文档,我们也可以发现,PG也提供了对数组类型的支持。 但是在实际开发中,我们通常是使用MyBatis/MyBatisPlus这种半自动ORM映射框架来实现数据库/表数据基本的增删改查,以及其它操作。那么,问题来了,如何…

Web安全之浅见

备注&#xff1a;这是我在2017年在自己的网站上写的文章&#xff0c;今天迁移过来。 昨天去参加了公司组织的一个关于网络安全的培训&#xff0c;了解了很多关于网络安全方面的知识&#xff0c;也才意识到网络安全是一项极其重要的领域。 本篇文章主要聊聊Web安全。不过我对于网…

大模型相关论文笔记

Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks 用于知识密集型NLP任务的检索增强生成 Facebook 2020 PDF CODE &#xff08;论文代码链接已失效&#xff0c;以上是最新链接&#xff09; 引言 大模型有幻觉问题&#xff08;hallucinations&#xff09;&…

串的相关题目

于是他错误的点名开始了 我发现有关hash得题目有些是可以通过map数组来完成的&#xff1a;何为map数组&#xff0c;我们先思考一下最简单的桶的排序&#xff0c;桶排序是将我们需要数字最为下标输进数组中&#xff0c;而数组是存放的数字是这个数字出现的次数&#xff0c;但是由…

【Python Scrapy】分布式爬虫利器

在当今信息爆炸的时代&#xff0c;获取大规模数据对于许多应用至关重要。而分布式爬虫作为一种强大的工具&#xff0c;在处理大量数据采集和高效爬取方面展现了卓越的能力。 本文将深入探讨分布式爬虫的实际应用场景&#xff0c;通过代码示例演示其在提升爬取效率、保障系统稳定…

Day32 进程Process

文章目录 1.什么是进程1.1 概念1.2 特点1.3 进程段1.4 进程分类1.5 进程状态1.6 进程状态切换图1.7 调度进程 2.进程函数接口2.1 创建进程 fork()2.2 回收资源函数2.3 结束进程2.4 获取进程号 3.exec函数族&#xff08;了解&#xff09;4.守护进程 Daemon4.1 守护进程的特点4.2…

【xss跨站漏洞】xss漏洞利用工具beef的安装

安装环境 阿里云服务器&#xff0c;centos8.2系统&#xff0c;docker docker安装 前提用root用户 安装docker yum install docker 重启docker systemctl restart docker beef安装 安装beef docker pull janes/beef 绑定到3000端口 docker run --rm -p 3000:3000 janes/beef …

贷齐乐系统最新版SQL注入(无需登录绕过WAF可union select跨表查询)

一、环境 已上传资源&#xff08;daiqile&#xff09; 二、代码解释 1.1Request 不管get请求还是post请求都可以接收到 1.2过滤的还挺多 1.3第二个WAF把数据分为两个了一个Key一个value&#xff0c;全是explode的功劳 1.4submit是if进入的前提 很明显走进来了 1.5那我们在这…

2024年上海高考数学备考:历年选择题真题练一练(2014~2023)

今天距离2024年高考还有三个多月的时间&#xff0c;今天我们来看一下2014~2023年的上海高考数学的选择题&#xff0c;从过去十年的真题中随机抽取5道题&#xff0c;并且提供解析。 后附六分成长独家制作的在线练习集&#xff0c;科学、高效地反复刷这些真题&#xff0c;吃透真…

回显服务器的制作方法

文章目录 客户端和服务器TCP和UDP的特点UDP socket api的使用DatagramSocketDatagramPacketInetSocketAddress API 做一个简单的回显服务器UDP版本的回显服务器TCP版本的回显服务器 客户端和服务器 在网络中&#xff0c;主动发起通信的一方是客户端&#xff0c;被动接受的这一方…

【Nacos】构建云原生应用的动态服务发现、配置管理和服务管理平台【企业级生产环境集群搭建应用】

基础描述 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 帮助您更敏捷和容易地构建、交付和…

API接口测试工具的使用指南

API接口测试是确保软件系统正常运作的关键步骤。API接口测试工具可以帮助开发人员和测试人员验证API的功能、性能和安全性。本文将介绍API接口测试工具的基本使用方法&#xff0c;以便有效地进行接口测试。 1. 选择合适的API测试工具 在开始API接口测试之前&#xff0c;首先需要…

MySQL-----多表操作

介绍 实际开发中&#xff0c;一个项目通常需要很多张表才能完成。例如:一个商城项目就需要分类表(category)、商品表(products)、订单表(orders)等多张表。且这些表的数据之间存在一定的关系&#xff0c;接下来我们将在单表的基础上&#xff0c;一起学习多表方面的知识。 一 多…

PostgreSQL限制密码的有效期(每次增加180天)

一、创建用户时&#xff0c;指定密码在180天后过期 创建用户时&#xff0c;可以使用如下语句&#xff0c;自动在当前时间的基础上增加180天&#xff0c;作为这个用户密码的有效时间。等到密码到期后或者临近的时候&#xff0c;可以使用SQL修改用户密码&#xff0c;并且重新定义…

echats 时间直方图示例

需求背景 某订单有N个定时任务&#xff0c;每个任务的执行时间已经确定&#xff0c;希望直观的查看该订单的任务执行趋势 查询SQL&#xff1a; select UNIX_TIMESTAMP(DATE_FORMAT(exec_time,%Y-%m-%d %H:%i)) execTime, count(*) from order_detail_task where order_no 2…

【命令行工具kubectl】

如何在k8s的任意节点使用用kubectl # 正常在node节点上是无法执行kubectl命令 [rootk8s-node-01 ~]# kubectl get pods The connection to the server localhost:8080 was refused - did you specify the right host or port?1、将master节点中/etc/kubernetes/,admin.conf拷…

Led灯驱动添加原子操作后驱动程序测试

一. 简介 上一篇文章实现了&#xff08;Linux驱动代码中&#xff09; 对 led灯的互斥处理&#xff0c;即使用Linux内核提供的处理并发与竞争的处理方法&#xff1a;原子操作。文章地址如下&#xff1a; Linux内核中并发与竞争的处理方法&#xff1a;原子操作举例-CSDN博客 …

React 模态框的设计(一)拖动组件的设计

春节终结束了&#xff0c;忙得我头疼。终于有时间弄自己的东西了。今天来写一个关于拖动的实例讲解。先看效果&#xff1a; 这是一个简单的组件设计&#xff0c;如果用原生的js设计就很简单&#xff0c;但在React中有些事件必须要多考虑一些。这是一个系列的文章&#xff0c;…

本机windows搭建达摩院与高德联合出品的地理地址自然语言处理模型GMeo实战

文章目录 本机windows搭建达摩院与高德联合出品的地理地址自然语言处理模型GMeo实战简介多模态地理文本预训练模型MGeoGeoGLUE 环境安装ModelScope相关安装conda虚拟环境深度学习基础库安装modelscope模型 测试代码代码输入xlsx文件运行这段测试代码输出xlsx耗时 如果有自定义样…

PLC_博图系列☞基本指令“异或“运算

PLC_博图系列☞基本指令“异或“运算 文章目录 PLC_博图系列☞基本指令“异或“运算背景介绍X&#xff1a;“异或”运算说明参数示例真值表 关键字&#xff1a; PLC、 西门子、 博图、 Siemens 、 异或 背景介绍 这是一篇关于PLC编程的文章&#xff0c;特别是关于西门子的…