当前位置: 首页 > news >正文

15篇MyBatis-Plus系列集合篇「值得收藏学习」

历史文章(文章累计490+)

《国内最全的Spring Boot系列之一》

《国内最全的Spring Boot系列之二》

《国内最全的Spring Boot系列之三》

《国内最全的Spring Boot系列之四》

《国内最全的Spring Boot系列之五》

《国内最全的Spring Boot系列之六》

MyBatis-Plus实现逻辑删除[MyBatis-Plus系列] - 492篇

Mybatis-Plus通用枚举功能 [MyBatis-Plus系列] - 第493篇

Mybatis-Plus自动填充功能配置和使用 [MyBatis-Plus系列] - 第494篇

引言

在当今的软件开发世界中,MyBatis-Plus 已经成为了一个不可或缺的工具。作为 MyBatis 的增强版,它不仅保留了 MyBatis 的全部功能,还通过一系列创新性的设计和改进,极大提升了开发效率,使开发者能够以更少的代码实现更多的功能。

MyBatis-Plus 的出现,解决了 MyBatis 在使用过程中可能遇到的痛点。它以一种更加简洁、直观和高效的方式,帮助开发者处理数据库操作。更重要的是,MyBatis-Plus 还提供了许多高级功能,如热加载、ActiveRecord 支持、代码生成等,这些都是开发者在实际开发中非常需要的。

总的来说,MyBatis-Plus 是一个强大而实用的工具,无论是在提高开发效率、简化开发过程,还是在提升软件质量、降低维护成本等方面,都展现出了其独特的优势。如果你是一名开发者,想要提高自己的开发效率、提升软件质量,那么 MyBatis-Plus 绝对是你的不二之选。

这里汇集了MyBatis-Plus基本的使用以及日常会碰到的一些业务场景的文章,有需要的可以收藏学习。

第一章 基础入门

1.1 MyBatis-Plus是什么以及特性[MyBatis-Plus系列]

MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

https://mp.weixin.qq.com/s/FsyThhgUwGLi_8PeTLUFIg

1.2 MyBatis-Plus快速开始[MyBatis-Plus系列]

这一节将通过一个简单的 Demo 来阐述 MyBatis-Plus 的强大功能

https://mp.weixin.qq.com/s/15IeyrZpfMh9u2xRdvSnnQ

1.3 MyBatis-Plus快速实现增删改[MyBatis-Plus系列]

在前面的小节中,介绍了MyBatis-Plus的基本使用,需要添加什么依赖以及基本的注解配置就可以快速使用MyBatis-Plus的查询selectList。这一节来看一下常用的增删改如何操作呢 ?

https://mp.weixin.qq.com/s/HVy2N5U_xzK226KdTtqwyw

1.4 MyBatis-Plus实现普通查询/分页查询[MyBatis-Plus系列]

在实际的项目中,删除是最简单的,一般大部分的需求场景根据id删除;对于创建和修改可以认为是一个事情,当然如果是修改状态的话,那么就是单个字段的修改,大同小异。

因此在项目中最难的是查询操作,如果是单表查询,那到还好,但是如果是多表查询的话,那么复杂程度会增加;再者就是业务场景中常见的分页查询。

https://mp.weixin.qq.com/s/Z7UOelKpyzk-L469xnr2zQ

第二章MyBatis-Plus核心功能学习

2.1 使用LambdaQueryWrapper再也不担心字段拼写错误了 [MyBatis-Plus系列]

为了更方便的实现动态 SQL,Mybatis Plus 在其基础上扩展了 LambdaQueryWrapper,LambdaQueryWrapper 提供了更加简便的查询语法,同时也避免了 SQL 注入的风险。

https://mp.weixin.qq.com/s/9BeTg_tSlh3hD_4MeoGS4g

2.2 表名注解/主键注解/字段注解/乐观锁注解[MyBatis-Plus系列]

在前面的小节中,对于MyBatis-Plus的使用已经有了一个基本的了解了,本文将介绍 MybatisPlus 注解包相关类详解。

https://mp.weixin.qq.com/s/RzA5fBOuK0E9rP2cH2b4GQ

2.3 MyBatis-Plus通用Service快速实现增删改查[MyBatis-Plus系列]

在前面学习了BaseMapper封装了常见的数据库增删改查操作,在实际的项目中,控制层并不会直接操作数据层,中间还有一层服务层,所以对于服务层的增删改查操作,MyBatis-Plus进行了封装:通用 Service CRUD 封装IService接口。

https://mp.weixin.qq.com/s/Crw5dTDi48698xucD3bYUQ

2.4 SpringBoot集成MyBatis-Plus + MyBatis-Plus(3.5.3版本)代码生成器[MyBatis-Plus系列]

平时在开发的过程中,对于新建的一张表难免会有对其进行增删改查的操作,而且还要写Controller、service、Mapper、Mapper.xml、PO、VO等等。如果每次都要去写这些跟业务毫不相干但是却又耗时耗力的重复代码这不仅是让开发人员不能专注于业务逻辑甚至可能由于不注意导致字段大小写或者某个字母写错而出现bug。所以我们可以利用代码生成器来生成这些固有的代码,这样不仅正确性高,毕竟代码是不会骗人的。而且还节省了时间。

https://blog.csdn.net/linxingliang/category_12491506.html

2.5 MyBatis-Plus主键生成策略[MyBatis-Plus系列]

Mybatis Plus 为我们提供了三种设置主键生成策略的方式。它们的优先级顺序是:局部注解 > 全局 > 默认(雪花算法),下面我们来一一介绍。

https://blog.csdn.net/linxingliang/category_12491506.html

第三章MyBatis-Plus扩展学习

3.1 MyBatis-Plus实现逻辑删除[MyBatis-Plus系列]

在实际的项目中,在删除数据的时候,我们并不想真正的把数据删除掉,而是修改一个状态中,不查询出来而已,这个就是逻辑删除。

在MP中要实现逻辑删除,非常easy,只需要简单的配置即可。接下来就带大家实践一下。

https://blog.csdn.net/linxingliang/category_12491506.html

3.2 Mybatis-Plus通用枚举功能 [MyBatis-Plus系列]

通常在开发中,有这样的需求:枚举类型存入数据库存的是编码code,然而返回给前端的时候是名称name,我们每次入库的时候都要getCode()以及返回给前端的时候要getName(),很繁琐,并且字段属于那种枚举类型的可读性也不高

基于以上问题:我们会尝试着定制一些逻辑专门去处理,一般是自定义枚举转换器实现,然而mybatis-plus提供了优雅的实现方式。

https://blog.csdn.net/linxingliang/category_12491506.html

3.3 Mybatis-Plus自动填充功能配置和使用 [MyBatis-Plus系列]

在数据入库的时候,不管新增或者修改数据,都要手动来设置添加时间和修改时间。每个插入都需要设置,而且数据库还设置不能为空,就很烦恼。

虽然可以在数据库设置默认值,但若没有数据库表修改权限,那就从技术上来解决这个问题吧。(如果有数据库表修改权限,可直接设置相应字段属性)。

需要自动填充的字段:

l 插入数据时自动填充:create_time

l 更新数据时自动填充:update_time

可以数据库设置默认值,也可以通过代码的方式进行自动填充。

本节来看一下如何使用MP的自动填充功能。

https://blog.csdn.net/linxingliang/category_12491506.html

3.4 Mybatis-Plus 自定义SQL注入器,实现真正的批量插入![MyBatis-Plus系列]

在使用MyBatis-Plus时,dao层都会去继承BaseMapper接口,这样就可以用BaseMapper接口所有的方法CRUD。

在Mybatis-Plus中调用updateById方法进行数据更新默认情况下是不能更新空值字段的。

而在实际开发过程中,往往会遇到需要将字段值更新为空值的情况。

那如何让Mybatis-Plus支持空值更新呢?

https://blog.csdn.net/linxingliang/category_12491506.html

3.5 完美的输出打印 SQL 及执行时长[MyBatis-Plus系列]

在我们日常开发工作当中,避免不了查看当前程序所执行的SQL语句,以及了解它的执行时间,方便分析是否出现了慢SQL问题。

MyBatis-Plus提供了两种SQL分析打印的方式,用于输出每条SQL语句及其执行时间,针对执行较长时间的SQL可以停止运行,有助于发现问题。

https://blog.csdn.net/linxingliang/category_12491506.html

3.7 MyBatisX快速开发插件 [MyBatis-Plus系列]

MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率。但是在真正开发过程中,MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表联查,我们就需要自己去编写代码和SQL语句,我们该如何快速的解决这个问题呢,这个时候可以使用MyBatisX插件。

https://blog.csdn.net/linxingliang/category_12491506.html

👍 点赞、转发、评论,伸出你的双手666…


🐜i 你就是你,不一样的小蚂蚁!

我就是我,是颜色不一样的烟火。
我就是我,是与众不同的小苹果。

à悟纤学院:https://t.cn/Rg3fKJD

学院中有Spring Boot相关的课程!点击「阅读原文」进行查看!

SpringBoot视频:http://t.cn/A6ZagYTi

SpringBoot交流平台:https://t.cn/R3QDhU0

SpringSecurity5.0视频:http://t.cn/A6ZadMBe

ShardingJDBC分库分表:http://t.cn/A6ZarrqS

分布式事务解决方案:http://t.cn/A6ZaBnIr

JVM内存模型调优实战:http://t.cn/A6wWMVqG

Spring入门到精通:https://t.cn/A6bFcDh4

大话设计模式之爱你:https://dwz.cn/wqO0MAy7

http://www.lryc.cn/news/236524.html

相关文章:

  • C#入门(6): 结构体、ref struct
  • Java shp 转 GeoJson
  • shadow复习之planar shadow
  • 计算机视觉的应用17-利用CrowdCountNet模型解决人群数量计算问题(pytorch搭建模型)
  • 源启容器平台KubeGien 打造云原生转型的破浪之舰
  • 斯坦福机器学习 Lecture2 (假设函数、参数、样本等等术语,还有批量梯度下降法、随机梯度下降法 SGD 以及它们的相关推导,还有正态方程)
  • 【腾讯云云上实验室-向量数据库】TAI时代的数据枢纽-向量数据库 VectorDB
  • 掌握深度学习利器——TensorFlow 2.x实战应用与进阶
  • MySQL 之多版本并发控制 MVCC
  • 优步让一切人工智能化
  • DeepMind发布新模型Mirasol3B:更高效处理音频、视频数据
  • 键盘方向键移动当前选中的table单元格,并可以输入内容
  • (八)、基于 LangChain 实现大模型应用程序开发 | 基于知识库的个性化问答 (检索 Retrieval)
  • 高效案例检索工具,Alpha案例库智慧检索成为律师检索工具首选
  • stable diffusion十七种controlnet详细使用方法总结
  • 【机器学习基础】对数几率回归(logistic回归)
  • 团结引擎已全面支持 OpenHarmony 操作系统
  • 【brpc学习案例实践一】rpc服务构造基本流程
  • Redis数据的持久化
  • uniapp App 端 版本更新检测
  • python用最小二乘法实现平面拟合
  • SpringCloud微服务:Nacos和Eureka的区别
  • 基于Springboot+Vue的校园在线打印预约系统
  • 计算机毕业设计选题推荐-掌心办公微信小程序/安卓APP-项目实战
  • 1.1二分查找
  • 提升工作效率,打造精细思维——OmniOutliner 5 Pro for Mac
  • idea显示pom.xml文件漂黄警告 Dependency maven:xxx:xxx is vulnerable
  • Linux中安装部署环境(JAVA)
  • Zabbix Proxy分布式监控
  • 前端设计模式之【代理模式】