Mybatis-扩展功能

逻辑删除+乐观锁

MyBatisPlus从入门到精通-3(含mp代码生成器)

Db静态工具类

Spring依赖循环问题

代码生成器

MybatisPlus代码生成器

枚举处理器

我们这里用int来存储状态
需要注解,很不灵活
希望用枚举类来代替这个Integer
在这里插入图片描述
这样的话我们进行service操作就可以直接看到信息
在这里插入图片描述
但是枚举类型和数据库中表的字段不匹配,怎么实现这个数据类型的转换呢?
在这里插入图片描述
mp实现了好用的枚举处理器和json处理器供我们使用
在这里插入图片描述

具体操作

创建注解和替换类型就不说了
1.enum中加@EnumValue注解
枚举类那个对应表的字段一定要包含数据库对应字段所以可能出现的情况
因为他是enum类型如果你查出个3他也没法创建啊,枚举类不给set,且构造方法是私有的
在这里插入图片描述
2.在配置文件写一个配置
在这里插入图片描述
这样写逻辑时候代码可读性就变的好一点
在这里插入图片描述
这样返回的是对象名啊,如果想设置别的作为返回的json数据的话,用@JsonValue标注
在这里插入图片描述

在这里插入图片描述

小声哔哔

我感觉常量类定义一下也可以这样
定义几个变量,就是要用英文标识呗,感觉用处不大

JSON处理器

我们查User表里面有个Userinfo的json属性
我们就用对象接收UserJson,需要json处理器
要不然只能有String 接收 info 自己处理
这时只需要加上@TableField(typeHandler = JacksonTypeHandler)注释
就是标定json处理器
我们json处理器不像枚举一样有全局配置,所以需要我们一个一个写注解喽
然后还要在@Tablename(autoResultMap = true)
开启resultmap映射
在这里插入图片描述

分页插件

分页插件最常用
这个是mp里面的功能哈
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

举例

封装VO返回就不看了
看一些怎么分页查吧
在这里插入图片描述
分页查询实体(所有业务分页查询都可以用它)
在这里插入图片描述
User扩展分页查询参数继承PageQuery
在这里插入图片描述
在这里插入图片描述

优化

其实上面的构建page
和封装VO的过程是每个分页查询都会做的
所以其实我们可以提取成工具方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
写完后改造之前业务逻辑
非常简洁
在这里插入图片描述

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

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

相关文章

请解释设备像素、CSS 像素、设备独立像素、DPR、PPI 之间的区别?

设备像素(Device Pixels) 定义:设备像素,也称为物理像素,是屏幕上能够显示的最小物理单位。每个设备像素代表屏幕上的一个点,用于显示颜色。 代码示例: console.log(window.screen.width); /…

【golang】channel带缓存和不带缓存的区别,应用场景解读

在Go语言中,channel(通道)分为带缓存的通道(Buffered Channel)和不带缓存的通道(Unbuffered Channel),它们的核心区别在于数据传递的同步机制和性能特性。以下是详细对比&#xff1a…

《Foundation 起步》

《Foundation 起步》 引言 在当今快速发展的科技时代,了解并掌握最新的技术是至关重要的。本文旨在为初学者提供一个全面的《Foundation》起步指南,帮助大家快速入门并掌握这一强大的技术。 一、什么是Foundation? Foundation 是一个流行的前端框架,由 ZURB 公司开发。…

Java Lambda 表达式的实践与思考

一、引言 自Java 8引入Lambda表达式以来,Java语言在函数式编程方面迈出了重要一步。Lambda不仅让代码变得更简洁,还极大地提升了对集合、流操作等场景下的处理能力。作为一名资深Java后端程序员,多年的开发实践让我深刻体会到Lambda在提升代…

记忆力训练day19

万能字母组合编码法 所有的文字和字母的背后都有画面 练的不是记单词,练的是注意力给到单词,出什么画面,然后画面与画面之间进行连接 拆的过程就是找熟词的过程 要关注自己的回忆路径是什么?也就是你是怎么回忆起来的&#xff0c…

【第13章:自监督学习与少样本学习—13.4 自监督学习与少样本学习的未来研究方向与挑战】

凌晨三点的实验室里,博士生小张盯着屏幕上的训练曲线——他设计的跨模态少样本学习模型在医疗影像诊断任务上突然出现了诡异的性能断崖。前一秒还在92%的准确率高位运行,下一秒就暴跌到47%。这个看似灾难性的现象,却意外揭开了自监督学习与少样本学习技术深藏的核心挑战… 一…

unity学习43:子状态机 sub-state machine

目录 1sub-state machine子状态机 1.1 创建 sub-state machine 1.2 sub-state machine 内容 1.3 子状态机的应用 2 子状态机不同于blend tree的嵌套 3 应用例子:若角色拿不同武器的动画设计,可以使用2种方法 3.1 在1个图层layer里,使用…

CANopen协议简介及电机控制

CANopen 是基于CAN总线的一种高层协议,广泛应用于工业自动化、嵌入式系统以及电机控制等领域。它的优点包括高效的数据传输能力、灵活的设备管理和强大的通信功能。 ​ 在控制多个电机并实时获取电机速度时,CANopen通过两种数据传输方式来实现&#xff…

20250213 隨筆 雪花算法

雪花算法(Snowflake Algorithm) 雪花算法(Snowflake) 是 Twitter 在 2010 年開發的一種 分布式唯一 ID 生成算法,它可以在 高併發場景下快速生成全局唯一的 64-bit 長整型 ID,且不依賴資料庫,具…

Golang并发编程最佳实践:协程与通道

Golang并发编程最佳实践:协程与通道 本文旨在介绍Golang并发编程的最佳实践,重点讨论协程和通道的使用方法,以及相关的实际案例和代码示例。 一、Golang并发编程简介 又称Go语言)是一种由Google开发的编程语言,旨在提供…

Python VsCode DeepSeek接入

Python VsCode DeepSeek接入 创建API key 首先进入DeepSeek官网,https://www.deepseek.com/ 点击左侧“API Keys”,创建API key,输出名称为“AI” 点击“创建",将API key保存,复制在其它地方。 在VsCode中下载…

【C++】基础入门(详解)

🌟 Hello,我是egoist2023! 🌍 种一棵树最好是十年前,其次是现在! 目录 输入&输出 缺省参数(默认参数) 函数重载 引用 概念及定义 特性及使用 const引用 与指针的关系 内联inline和nullptr in…

【Elasticsearch】runtime_mappings搜索请求中定义运行时字段

在 Elasticsearch 中,在搜索请求中定义运行时字段(Runtime Fields)是一种强大的功能,允许用户在查询时动态添加和计算字段,而无需预先在索引映射中定义这些字段。这种方式提供了极大的灵活性,尤其是在处理动…

数学建模基础训练-1:概念解析

文章目录 数学建模基础训练-1:概念解析问题一:如何找到“概念”?问题二:如何全面理解概念的基础含义?问题三:如何深刻理解概念并作出创新点发掘?实际举例问题一 :研究并给出寒假开学某大学返校交…

【Linux基础】Linux下常用的系统命令

文章目录 一、前言二、系统监控和进程管理指令2.1 ps命令2.2 top命令2.3 kill命令2.4 shutdown命令 三、文件和目录管理指令3.1 cd命令3.2 ls命令3.3 mkdir命令3.4 cat 命令3.5 cp命令3.6 mv命令3.7 rm命令3.8 chmod命令3.9 ln命令3.10 pwd命令 四、文件查找和文本处理指令4.1 …

mysql读写分离与proxysql的结合

上一篇文章介绍了mysql如何设置成主从复制模式,而主从复制的目的,是为了读写分离。 读写分离,拿spring boot项目来说,可以有2种方式: 1)设置2个数据源,读和写分开使用 2)使用中间件…

【Git版本控制器】:第一弹——Git初识,Git安装,创建本地仓库,初始化本地仓库,配置config用户名,邮箱信息

🎁个人主页:我们的五年 🔍系列专栏:Linux网络编程 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 ​ 相关笔记: https://blog.csdn.net/dj…

双轴伺服电机驱动控制器AGV、AMR专用双伺服电机驱动控制器解决方案

工业机器人数控机床XY机械手双轴机器人堆垛机专用双轴伺服电机驱动控制器48V 14ARMS带有STO功能,隔离高压CAN/RS485/USB通讯支持编码器和霍尔输入 双伺服电机驱动控制器TMCM2611功能介绍 集成2个伺服电机的控制和驱动于一体供电电压48V,驱动电流14A RM…

flutter本地推送 flutter_local_notifications的使用记录

flutter_local_notifications 效果 安卓配置(AndroidManifest.xml) <uses-permission android:name"com.android.alarm.permission.SET_ALARM"/> <uses-permission android:name"android.permission.SCHEDULE_EXACT_ALARM" /> <us…

宝塔和docker的区别

宝塔面板 vs Docker&#xff1a;区别、场景与互补使用指南 eepseek回答宝塔和docker的区别 好的&#xff0c;我现在需要回答用户关于宝塔面板和Docker之间的区别的问题。首先&#xff0c;我需要明确这两个工具各自的定义、功能以及它们适用的场景&#xff0c;这样才能准确比较…