MybatisPlus的基础使用

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

文章目录

  • 前言
  • 1、基础crud
    • 增加
      • insert()方法:
    • 删除
    • 修改
    • 查询
  • 2、分页查询
    • 配置分页拦截器
    • 使用分页查询功能
    • 开启MP日志
      • 在yml配置文件中配置日志
      • 查看日志
  • 3、条件查询
    • 条件添加方式
      • 方法一
      • 方法二
      • 方法三
    • 多条件查询
      • 多条件and
      • 多条件or
  • 总结


前言

mybatisplus在mybatis的基础上进行额外的封装,可以极大的提升我们的开发效率。


1、基础crud

增加

insert()方法:

调用baseMapper接口中的**insert()**方法,并传入实体类对象,可以快速在数据库中创建记录,一般设置传入的实体类对象的id值为null,由数据库自动生成id值
请添加图片描述

请添加图片描述

删除

使用**deleteById()**方法传入id值进行删除
请添加图片描述

修改

通过**updateById()**方法传入实体类修改,只修改所传实体类对象中存在的数据
请添加图片描述

查询

查询所有用**selectList()**方法,返回一个集合对象,遍历即可
请添加图片描述

查询单个数据用**selectById()**方法,返回一个实体类对象
请添加图片描述

2、分页查询

调用mybatisplus提供的basemapper接口中的selectPage()方法就可以使用分页查询功能,但在使用分页查询功能前,要先添加分页拦截器,否则无法正常查询数据:
为什么要添加分页拦截器:
执行分页查询,相当于使用select *from ? limit ?这条sql语句进行查询,默认先使用select*from?,而**limit ?**这一部分需要拦截器进行添加,也就是说需要拦截器来在执行前添加分页功能代码,否则就变成查询全部了
请添加图片描述

并且这个分页功能使用到mp提供的分页插件,而mp中的插件都要先在配置类中进行注册后才可以使用
请添加图片描述

配置分页拦截器

请添加图片描述

使用分页查询功能

查询到的结果会被封装进你传入的IPage对象中,再调用该对象方法就可以获取对应数据
请添加图片描述

开启MP日志

开启mybatisplus的日志,我们可以在日志中看到mybatis的查询过程。

在yml配置文件中配置日志

请添加图片描述

查看日志

这里查看分页查询的日志:
请添加图片描述

可以看出:这里的分页查询是分段进行的,先查询总记录数,再从中根据方法参数查询具体数据

3、条件查询

条件添加方式

方法一

添加查询条件需要用到QueryWrapper对象,调用其中的方法,并将条件传入其中
请添加图片描述

调用的方法决定判断条件是什么(比如大于、小于、等于……),传入的参数值决定判断的条件值是什么。
因此为了满足需要,有如下不同方法可以选择:
请添加图片描述

每个方法的具体含义可以到官网查看:

方法二

使用lambda表达式来决定判断的字段:
请添加图片描述

方法三

算是对方法二的简化写法,引入LambdaQueryWrapper对象代替QueWrapper对象,和方法二一样,用lambda来指定字段名,同时省略了方法二中的**lambda()**方法:
请添加图片描述

多条件查询

可以一次添加多个查询条件

多条件and

查询条件连接表示要查询同时满足这些条件的记录
请添加图片描述

多条件or

在条件之间插入or()方法,表示查询满足其中一个条件的记录:
请添加图片描述


总结

本章中介绍了如何使用mybatisplus进行一些常用的增、删、改、查操作。

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

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

相关文章

基于stm32的智能变频电冰箱系统

基于stm32的智能变频电冰箱系统 持续更新,欢迎关注!!! 基于stm32的智能变频电冰箱系统 随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。单片机以其功能强、体积小、可靠性高、造价低和开发周期短…

【提高篇】3.3 GPIO(三,工作模式详解 上)

目录 一,工作模式介绍 二,输入浮空 三,输入上拉 一,工作模式介绍 GPIO有八种工作模式,参考下面列表,我们先有一个简单的认识。 二,输入浮空 在输入浮空模式下,上拉/下拉电阻为断开状态,施密特触发器打开,输出被禁止。输入浮空模式下,IO口的电平完全是由外部电路…

代码训练营 day66|Floyd 算法、A * 算法、最短路算法总结

前言 这里记录一下陈菜菜的刷题记录,主要应对25秋招、春招 个人背景 211CS本CUHK计算机相关硕,一年车企软件开发经验 代码能力:有待提高 常用语言:C 系列文章目录 第66天 :第十一章:图论part11 文章目录…

Vue中template模板报错

直接<v出现如下模板&#xff0c;出现如下错误 注意两个地方&#xff1a; 1.template里面加一个div标签 2.要写name值 如下图

五、函数封装及调用、参数及返回值、作用域、匿名函数、立即执行函数

1. 函数基本使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style&…

前端flutter

在一个风和日丽的午后&#xff0c;本以为又是一个普通的摸鱼日子&#xff0c;却突然被领导拉去谈话&#xff0c;意思就是公司后面要基于现有小程序和H5项目&#xff0c;转化到APP上去&#xff1b;无奈的是目前部门的研发小组并没有能够开发APP的人&#xff0c;既然这事找到我了…

在uniapp中使用canvas封装组件遇到的坑,数据被后面设备覆盖,导致数据和前面的设备一样

在uniapp开发中使用canvas封装了一个叫cirlceTemp的组件(温度圆环图表) 封装的HTML代码 <template><view class"progress-box" :style"{ width: ${progressWidth}rpx, height: ${progressHeight}rpx }"><canvas class"progress-bg&qu…

linux病毒编写+vim shell编程

学习视频来自B站UP主泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 请一定遵循《网络空间安全法》&#xff01;&#xff01;&#xff01; Linux目录介绍 /bin 二进制可执行文件&#xff08;kali里面是工具一些文件&#xff09;/etc 系统的管理和配置文…

【小程序】dialog组件

这个比较简单 我就直接上代码了 只需要传入title即可&#xff0c; 内容部分设置slot 代码 dialog.ttml <view class"dialog-wrapper" hidden"{{!visible}}"><view class"mask" /><view class"dialog"><view …

【玩具蛇——DFS】

题目 代码 #include <bits/stdc.h> using namespace std; int g[5][5]; int dx[] {0, 0, -1, 1}, dy[] {-1, 1, 0, 0}; int ans; void dfs(int x, int y, int t) {g[x][y] t;if (t > 16){ans;g[x][y] 0;return;}for (int i 0; i < 4; i){int nx x dx[i], n…

aar打包以及混淆问题

我们做sdk&#xff0c;经常要打成aar包。 如何打aar包&#xff1f; 1、首先module必须是library 2、build.gradle写的应用aar和module&#xff0c;要改成compileOnly&#xff0c;这样打包的时候就不会报错&#xff0c;因为aar不允许包含其他aar 3、 4、 aar包如何混淆 bui…

hhdb数据库介绍(9-14)

SQL语法支持 DML语句 在关系集群数据库中&#xff0c;DML语句的逻辑将变的更为复杂。计算节点将DML语句分为两大类&#xff1a;单库DML语句与跨库DML语句。 单库DML语句&#xff0c;指SQL语句只需在一个节点上运行&#xff0c;即可计算出正确结果。假设分片表customer分片字…

IDEA旗舰版编辑器器快速⼊门(笔记)

简介&#xff1a;javaweb开发必备软件之IDEA期间版介绍 DEA编辑器器版本介绍 官⽹网&#xff1a;https://www.jetbrains.com/地址&#xff1a;https://www.jetbrains.com/idea/download/#sectionmac DEA 分社区版(Community) 和 旗舰版(Ultimate)&#xff0c;我们做JavaWeb开…

HTML5实现剪刀石头布小游戏(附源码)

文章目录 1.设计来源1.1 主界面1.2 皮肤风格1.2 游戏中界面 2.效果和源码源码下载万套模板&#xff0c;程序开发&#xff0c;在线开发&#xff0c;在线沟通 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/143798520 HTM…

DAY65||Bellman_ford 队列优化算法(又名SPFA)|bellman_ford之判断负权回路|bellman_ford之单源有限最短路

Bellman_ford 队列优化算法&#xff08;又名SPFA&#xff09; 94. 城市间货物运输 I 思路 大家可以发现 Bellman_ford 算法每次松弛 都是对所有边进行松弛。 但真正有效的松弛&#xff0c;是基于已经计算过的节点在做的松弛。 给大家举一个例子&#xff1a; 本图中&#xff…

关于adb shell登录开发板后terminal显示不完整

现象 今天有个同事跟我说&#xff0c;adb shell 登录开发板后&#xff0c;终端显示不完整&#xff0c;超出边界后就会出现奇怪的问题&#xff0c;比如字符覆盖显示等。如下图所示。 正常情况下应该如下图所示&#xff1a; 很明显&#xff0c;第一张图的显示区域只有完整区域…

01 P2367 语文成绩

题目&#xff1a; 样例输入&#xff1a; 3 2 1 1 1 1 2 1 2 3 1 样例输出&#xff1a; 2 代码&#xff1a; #include<bits/stdc.h> using namespace std;long long sa[5000005]; long long sb[5000005];int main() {int n,p;cin>>n>>p;for(int i1;i<n;i)…

聊聊Flink:Flink的分区机制

一、前言 flink任务在执行过程中&#xff0c;一个流&#xff08;stream&#xff09;包含一个或多个分区&#xff08;Stream partition&#xff09;。TaskManager中的一个slot的subtask就是一个stream partition&#xff08;流分区&#xff09;&#xff0c;一个Job的流&#xf…

VRRP HSRP GLBP 三者区别

1. VRRP&#xff08;Virtual Router Redundancy Protocol&#xff0c;虚拟路由冗余协议&#xff09; 标准协议&#xff1a;VRRP 是一种开放标准协议&#xff08;RFC 5798&#xff09;&#xff0c;因此支持的厂商较多&#xff0c;通常用于多种网络设备中。主备模式&#xff1a;…

VMware 17虚拟Ubuntu 22.04设置共享目录

VMware 17虚拟Ubuntu 22.04设置共享目录 共享文件夹挂载命令&#xff01;&#xff01;&#xff01;<font colorred>配置启动自动挂载Chapter1 VMware 17虚拟Ubuntu 22.04设置共享目录一、卸载老版本二、安装open-vm-tools<font colorred>三、配置启动自动挂载四、添…