mybatis-plus ==> 入门教程

文章目录

  • 为什么要学呢?
    • 注意事项
  • 简单入门案例
  • 配置日志
  • 雪花算法
    • 更改 ID 的方法
  • CRUD
    • 插入(不解释了,代码非常简单)
    • 更新
    • 查询(批量查询)
    • 按条件查询
    • 分页查询
    • 删除(批量、通过条件、逻辑删除)
      • 批量删除
      • 通过条件删除
      • 逻辑删除
    • wapper 条件查询器
      • 模糊查询
      • 自动填充
        • 数据库级别
        • 代码级别
      • 乐观锁处理
        • 乐观锁的使用方式
    • 性能分析插件
    • 代码生成器

为什么要学呢?

节省了我们的大量时间,所有的 CRUD 代码几乎都可以自动生成(偷懒的,就例如 Lombok 一样)

特性:无侵入、损耗小、逐渐自动生成、内置分页插件、内置全局拦截插件、支持多种数据库等……

注意事项

注意:尽量不要把 mybatismybatis-plus 一起导入,可能会有版本差异。

简单入门案例

pojo:

在这里插入图片描述

dao:

在这里插入图片描述

services:

在这里插入图片描述

Test:

在这里插入图片描述

很简单的两部,没有配置 XML 文件 , 就几乎有了 Mapper 中 80% 的方法。(具体有哪些方法,没有展示,大家自己点开源码,就可以看到哦~~ )

配置日志

我们要是想看到具体是怎么执行的?那就要配置日志了,也非常的简单,方法如下:

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

雪花算法

了解:在分布式系统中,唯一ID的生成和管理是一项重要而棘手的任务。雪花算法,由Twitter开源的一种分布式ID生成算法。雪花算法是一种全局ID生成算法,其核心思想是将64位的long型ID分为四个部分,分别为:时间戳、工作机器ID、数据中心ID和序列号。通过将数据映射到具有特定结构的分布式系统中,实现数据的存储和查询。该算法由一系列节点组成,每个节点负责存储数据的一部分。这些节点通过哈希函数将数据映射到特定的位置,形成类似于雪花结构的分布式系统。通过这种方式,雪花算法能够在分布式系统中保证ID的唯一性和有序性。

更改 ID 的方法

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

CRUD

插入(不解释了,代码非常简单)

在这里插入图片描述

更新

注意理解一下,根据 ID 更新。参数需要的可是 实体类 哦 ~~ 。 需要更新啥,实体类就设置啥呢!

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

查询(批量查询)

在这里插入图片描述

按条件查询

在这里插入图片描述

分页查询

在这里插入图片描述

@Configuration
@MapperScan("com.xiao.dao")
public class MPconfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());// 分页插件PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);// 设置数据库为mysqlpaginationInnerInterceptor.setMaxLimit(1000L); // 设置最大查询数量,防止一次查询太多数据,给数据库压力过大// 添加分页插件interceptor.addInnerInterceptor(paginationInnerInterceptor);return interceptor;}}

在这里插入图片描述

删除(批量、通过条件、逻辑删除)

批量删除

在这里插入图片描述

通过条件删除

在这里插入图片描述

逻辑删除

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

wapper 条件查询器

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

模糊查询

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

自动填充

数据库级别
代码级别

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

乐观锁处理

乐观锁:顾名思义 ⇒ 十分乐观,总是以为不会出现问题,无论干什么都不去上锁!如果出现了问题,就在更新值了然后测试。

悲观锁:顾名思义 ⇒ 十分悲观。无论干什么都感觉会出问题,都去上锁!

乐观锁失败案例如下:

在这里插入图片描述

在被另外一个线程插队的情况下,则可能会被覆盖。

在这里插入图片描述

乐观锁的使用方式

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

性能分析插件

用于分析每条sql的执行时间

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

代码生成器

可以官网了解一下,这玩意有些厉害了,

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

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

相关文章

AutoSar 通信服务架构,CAN通信诊断详解

文章目录 Com(通信服务模块)PDU的定义和结构PDU的分类IPDU Mux 模块PDU R 模块(路由)Bus TP 模块BUS InterfaceCanIf模块LinIf模块 发送数据示例(CAN报文)接收数据示例(CAN报文)通信…

基于SpringBoot的休闲娱乐代理售票系统设计与实现

1.1研究背景 21世纪,我国早在上世纪就已普及互联网信息,互联网对人们生活中带来了无限的便利。像大部分的企事业单位都有自己的系统,由从今传统的管理模式向互联网发展,如今开发自己的系统是理所当然的。那么开发休闲娱乐代理售票…

CSS外边距

元素的外边距(margin)是围绕在元素边框以外(不包括边框)的空白区域,这片区域不受 background 属性的影响,始终是透明的。 为元素设置外边距 默认情况下如果不设置外边距属性,HTML 元素就是不会…

北京中实新材料:携手知名建筑企业,共筑重大工程辉煌篇章

近年来,北京中实新材料有限责任公司(以下简称“北京中实”)凭借其卓越的产品质量、专业的技术服务和良好的市场信誉,积极参与了一系列重大工程项目的建设,与多家知名建筑企业建立了长期稳定的合作关系,共同书写了城市发展的辉煌篇章。 深耕行业,铸就品质基石 自成立以来,北京中…

悬浮提词器免费版,5款便捷软件分享推荐

在这个信息爆炸、内容为王的时代,无论是直播带货、视频创作还是公开演讲,流畅自然的表达都是吸引观众的关键。然而,面对镜头时忘词卡顿却成了不少人的“心头痛”。今天,就给大家揭秘五款完全免费的悬浮提词器软件,它们…

MyBatis的注入问题

对之前文章的补充:MyBatis中的#{}与${}注入问题----原文链接 前言: MyBatis是一个流行的Java持久层框架,用于将对象与数据库中的数据进行映射。然而,如果不当使用,MyBatis也可能受到诸如SQL注入这类的安全问题的影响。…

prometheus + alertmanager + PrometheusAlert实现告警

prometheus 收集监控数据 alertmanager 制定告警路由 PrometheusAlert 连通告警webhook 一、prometheus配置 https://prometheus.io/download/ 1.1、prometheus安装 包的下载直接wget就行,放在data目录下,解压后在prometheus目录下创建config和rule目录 配置了热重启&#…

完整网络模型训练(一)

文章目录 一、网络模型的搭建二、网络模型正确性检验三、创建网络函数 一、网络模型的搭建 以CIFAR10数据集作为训练例子 准备数据集: #因为CIFAR10是属于PRL的数据集,所以需要转化成tensor数据集 train_data torchvision.datasets.CIFAR10(root&quo…

养猪场饲料加工机械设备有哪些

养猪场饲料加工机械设备主要包括以下几类:1‌、粉碎机‌:主要用于将原料进行粉碎,以便与其他饲料原料混合均匀。常见的粉碎机有水滴式粉碎机和立式粉碎机两种,用户可以根据原料的特性选择适合的机型。2‌、搅拌机‌:用…

Element UI教程:如何将Radio单选框的圆框改为方框

大家好,今天给大家带来一篇关于Element UI的使用技巧。在项目中,我们经常会用到Radio单选框组件,默认情况下,Radio单选框的样式是圆框。但有时候,为了满足设计需求,我们需要将圆框改为方框,如下…

【新闻转载】Storm-0501:勒索软件攻击扩展到混合云环境

icrosoft发出警告,勒索软件团伙Storm-0501近期调整了攻击策略,目前正将目标瞄准混合云环境,旨在全面破坏受害者的资产。 该威胁行为者自2021年首次露面,起初作为Sabbath勒索软件行动的分支。随后,他们开始分发来自Hive…

华为OD机试 - 积木最远距离(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…

MQTT--EMQX入门+MQTTX使用

目录 1、什么是EMQX?1.1 EMQX介绍1.2 EMQX特点1.3 与物联网之间的关系以及主要的产品主要的产品 2、安装启动2.1 基本命令2.2 目录结构 3、MQTTX客户端3.1 连接配置 总结PS: 1、什么是EMQX? 首先你得有MQTT的知识,不认识MQTT的小伙伴可以先看…

如何初步部署自己的服务器,达到生信分析的及格线2(待更新)

参考我的上一篇博客https://blog.csdn.net/weixin_62528784/article/details/142621762?spm1001.2014.3001.5501, 现在我们已经有了一个能够跑一些基础任务的、基本没有配置的服务器了,接下来要做的任务就是: (1)进一…

单片机毕业设计选题基于单片机的炉温度控制系统

** 文章目录 前言概要功能设计设计思路效果图 程序文章目录 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们…

深拷贝浅拷贝 JS代码实现

文章目录 JS数据类型深拷贝 & 浅拷贝赋值和浅拷贝的区别浅拷贝(Shallow Copy)代码实现 深拷贝(Deep Copy)代码实现 Map & WeakMap示例 WeakMap 和垃圾回收weakmap处理循环引用 typepf & instanceof JS数据类型 基本数…

满填充透明背景二维码生成

前几天项目上线的时候发现一个问题:通过Hutool工具包生成的二维码在内容较少时无法填满(Margin 已设置为 0)给定大小的图片。因此导致前端在显示二维码时样式异常。 从图片中我们可以看到,相同大小的图片,留白内容是不一样的。其中上半部分…

dwceqos网络驱动性能优化

文章介绍 本文会介绍优化QNX系统下io-pkt-v6-hc驱动模块cpu loading过高问题,经过优化可以降低约一半的cpu loading. 问题背景 激光雷达通过以太网发送数据到ADAS域控中,测试发现在激光功能激活的情况下,会出现比较明显的网络丢帧现象。 …

平安养老险深圳分公司积极开展“金融教育宣传月”活动,展现金融为民新风尚

2024年9月,平安养老险深圳分公司以“金融为民谱新篇,守护权益防风险”为主题,正式启动2024年“金融教育宣传月”活动,通过多样化开展进乡村、进商圈、进企业等宣传教育活动,将金融消保知识送达广大消费者身边&#xff…

光通信——PON技术

PON网络结构 PON(Passive Optical Network,无源光网络)系统的基本组成包括OLT(Optical Line Terminal,光线路终端)、ODN(Optical Distribution Network,光分配单元)和ON…