Mybatis-Plus常用的查询方法--看这一篇就够了!!!
前言:
Mybatis-Plus作为Mybatis的增强,自己封装了很多简单还用的方法,来解脱自己写sql!
对于项目的搭建小编就不在说了,可以参考:
SpringBoot+Mybatis-Plus的入门搭建与配置测试
这样就可以跟小编站在同一起跑线了,咱们直接开始介绍方法的使用哦!!
步入正题:
方法一:根据主键id去查询单个结果 selectById
/**
* 方法一: 根据主键id去查询单个结果
* T selectById(Serializable id); ---参数为主键类型
*/
User user1 = userMapper.selectById(1);
/**
* 返回值结果
* {"id": 1,"name": "df","age": 222}
*/
方法二:查询多条数据库中的记录 selectList
/**
* 方法二: 查询多条数据库中的记录
* List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
* ---参数为Wrapper可以为空说明没有条件的查询
*/
List<User> users1 = userMapper.selectList(null);
/**
* 运行结果集
* [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
*/
方法三:查询多条数据库中的记录---条件查询 selectList(wrapper)
/**
* 方法三:查询多条数据库中的记录---条件查询
* List<T> selectList(@Param("ew") Wrapper<T> queryWrapper);
*/
//首先构造QueryWrapper来进行条件的添加
QueryWrapper wrapper = new QueryWrapper();
wrapper.eq("id",1);//相当于where id=1
List<User> list = userMapper.selectList(wrapper);
/**
* 返回值结果
* {"id": 1,"name": "df","age": 222}
*/
福利赠送:条件构造器QueryWrapper常用方法
/**
*附加条件构造器QueryWrapper常用方法 ---这几个肯定够用了
*/
wrapper.eq("数据库字段名", "条件值"); //相当于where条件
wrapper.between("数据库字段名", "区间一", "区间二");//相当于范围内使用的between
wrapper.like("数据库字段名", "模糊查询的字符"); //模糊查询like
wrapper.groupBy("数据库字段名"); //相当于group by分组
wrapper.in("数据库字段名", "包括的值,分割"); //相当于in
wrapper.orderByAsc("数据库字段名"); //升序
wrapper.orderByDesc("数据库字段名");//降序
wrapper.ge("数据库字段名", "要比较的值"); //大于等于
wrapper.le("数据库字段名", "要比较的值"); //小于等于
方法四:根据主键的id集合进行多条数据的查询 selectBatchIds
/**
* 方法四: 根据主键的id集合进行多条数据的查询
* List<T> selectBatchIds(@Param("coll") Collection<? extends Serializable> idList);
* --条件为集合
*/
List list1 = Arrays.asList(1,2);
List<User> list2 = userMapper.selectBatchIds(list1);
/**
* 运行结果集
* [{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}]
*/
方法五:分页查询 selectPage
/**
* 方法五: 分页查询
* IPage<T> selectPage(IPage<T> page, @Param("ew") Wrapper<T> queryWrapper);
* ---参数为分页的数据+条件构造器
*/
IPage<User> page = new Page<>(1,2);//参数一:当前页,参数二:每页记录数
//这里想加分页条件的可以如方法三自己构造条件构造器
IPage<User> userIPage = userMapper.selectPage(page, null);
/**
* 运行结果集
* {"records":[{"id": 1,"name": "df","age": 222},{"id": 2,"name": "wang","age": 22}],
* "total": 0,"size": 2,"current": 1,"searchCount": true,"pages": 0 }
*/
小结:
谢谢大家的学习与观看,这五个是比较常用的方法,其他也有小编开发中没怎么用到,就不教学了。有问题留言交流,下期带来插入更新删除常用方法哦!!
Mybatis-Plus常用的查询方法--看这一篇就够了!!!的更多相关文章
- [转帖]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件
nginx学习,看这一篇就够了:下载.安装.使用:正向代理.反向代理.负载均衡.常用命令和配置文件 2019-10-09 15:53:47 冯insist 阅读数 7285 文章标签: nginx学习 ...
- Java中的多线程=你只要看这一篇就够了
如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个话其 ...
- 鸿蒙应用程序Ability(能力)看这一篇就够
本节概述 什么是Ability Ability分类 Ability生命周期 Ability之间跳转 什么是Ability Ability意为能力,是HarmonyOS应用程序提供的抽象功能.在Andr ...
- 关于 Docker 镜像的操作,看完这篇就够啦 !(下)
紧接着上篇<关于 Docker 镜像的操作,看完这篇就够啦 !(上)>,奉上下篇 !!! 镜像作为 Docker 三大核心概念中最重要的一个关键词,它有很多操作,是您想学习容器技术不得不掌 ...
- JVM内存模型你只要看这一篇就够了
JVM内存模型你只要看这一篇就够了 我是一只孤傲的鱼鹰 让我们不厌其烦的从内存模型开始说起:作为一般人需要了解到的,JVM的内存区域可以被分为:线程栈,堆,静态方法区(实际上还有更多功能的区域,并且这 ...
- 【java编程】ServiceLoader使用看这一篇就够了
转载:https://www.jianshu.com/p/7601ba434ff4 想必大家多多少少听过spi,具体的解释我就不多说了.但是它具体是怎么实现的呢?它的原理是什么呢?下面我就围绕这两个问 ...
- 2019-5-25-win10-uwp-win2d-入门-看这一篇就够了
title author date CreateTime categories win10 uwp win2d 入门 看这一篇就够了 lindexi 2019-5-25 20:0:52 +0800 2 ...
- windows server 2019 域控批量新增不用,只看这一篇就够了,别的不用看
windows server 2019 域控批量新增不用,只看这一篇就够了,别的不用看 1. 新建excel表格 A B C D E 姓 名 全名 登录名 密码 李 四 李四 李四 test123!@ ...
- 什么是 DevOps?看这一篇就够了!
本文作者:Daniel Hu 个人主页:https://www.danielhu.cn/ 目录 一.前因 二.记忆 三.他们说-- 3.1.Atlassian 回答"什么是 DevOps?& ...
随机推荐
- [.NET大牛之路 006] 了解 Roslyn 编译器
.NET大牛之路 • 王亮@精致码农 • 2021.07.09 维基百科对编译器的解释是:编译器是一种程序,它将某种编程语言编写的源代码(原始语言)转换成另一种编程语言(目标语言).编译是从源代码(通 ...
- Java 17 将要发布,补一下 Java 13 中的新功能
本文章属于Java 新特性教程 系列,已经收录在 Github.com/niumoo/JavaNotes ,点个赞,不迷路. 自从 Oracle 调整了 Java 的版本发布节奏之后,Java 版本发 ...
- CRC校验原理和verilog实现方法(三)
1 代码生成 verilog实现CRC校验,可以充分发挥FPGA的硬件特性,即并行运算的能力. 具体实现方式,可以参考我上一篇博客,关键是用线性反馈移位寄存器表示出多项式,另外注意校验数据高位在先.然 ...
- JavaScript关于返回数据类型一个小小的笔记
Javascript关于返回数据类型的一个小笔记 javascript数据类型有两种. 一种是基本数据类型:String.Number.Boolean.Symbol.Underfine.Null 一种 ...
- 三、Linux部署MinIO分布式集群
MinIO的官方网站非常详细,以下只是本人学习过程的整理 一.MinIO的基本概念 二.Windows安装与简单使用MinIO 三.Linux部署MinIO分布式集群 四.C#简单操作MinIO 一. ...
- KMP算法的详细解释
什么是kmp算法呢?这是一个处理字符串的算法,用来判断给出的模式串p是否存在于文本串t中(p的长度小于t). 在本文中,字符串储存在字符数组中,并且第一个字符放在下标为1的元素中. 那么如何理解kmp ...
- WPF按钮实现水波纹效果
xaml代码如下 <Button x:Class="UI.btn.ZButton" xmlns="http://schemas.microsoft.com/winf ...
- Shell-03-表达式和运算符
表达式和运算符 条件表达式语句 [ 1 -eq 1 ] [[ 1 -eq 1 ]] test 1 -eq 1 等同于 [ 1 -eq 1 ] [root@satest_192-168-3-121 sh ...
- 一文搞懂RPC原理
RPC原理解析 什么是RPC RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.R ...
- java对xml节点属性的增删改查实现方法
package vastsum; import java.io.File; import java.io.FileWriter; import java.util.Iterator; import o ...