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的过程是每个分页查询都会做的
所以其实我们可以提取成工具方法



写完后改造之前业务逻辑
非常简洁

相关文章:
Mybatis-扩展功能
逻辑删除乐观锁 MyBatisPlus从入门到精通-3(含mp代码生成器) Db静态工具类 Spring依赖循环问题 代码生成器 MybatisPlus代码生成器 枚举处理器 我们这里用int来存储状态 需要注解,很不灵活 希望用枚举类来代替这个Integer 这样的话我…...
基于SpringBoot实现的大学社团平台系统实现功能六
一、前言介绍: 1.1 项目摘要 随着高校社团活动的日益丰富和多样化,学生对于社团管理和参与的需求也在不断增加。传统的社团管理方式往往存在效率低下、信息不透明等问题,无法满足现代学生对于便捷、高效社团管理的需求。因此,利…...
电子电气架构 --- 机器学习推动车载雷达的发展
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身…...
python从入门到进去
python从入门到进去 第一章、软件和工具的安装一、安装 python 解释器二、安装 pycharm 第二章、初识 python一、注释可分三种二、打印输入语句三、变量1、基本数据类型1.1、整数数据类型 int1.2、浮点数数据类型 float1.3、布尔数据类型 boolean1.4、字符串数据类型 string 2、…...
智能化客户画像构建管理:AI视频监控在大型商场的技术
前言:某商家为了优化卖场服务与营销策略,希望通过非侵入式手段获取客户画像,不仅可以帮助卖场提升服务质量、优化营销策略,还能通过数据驱动的方式提升销售业绩和顾客满意度,为卖场的长期发展奠定坚实的基础。 具体需求…...
php 拼接字符串
php 拼接字符串 .连字符"Hello, $name" 双引号内会解析变量"Hello, {$name}Doe" 使用花括号可以更明确标识变量名sprintf("Hello, %s", $name) 使用sprintfheredoc语法,同样支持变量的解析$html <<<EOT <p>Hello, $…...
Deepseek实用万能提问模板
一,背景需求约束条件 背景:提供与问题相关的时间、地点、人物、事件等信息,帮助 DeepSeek 更好地理解问题的情境。 需求:清晰明确地阐述你希望 DeepSeek完成的任务或提供的信息。 约束条件:可根据具体情况,对回答的范围、格式、字数等进行…...
MySQL、MariaDB 和 TDSQL 的区别
MySQL、MariaDB 和 TDSQL 是三种不同的数据库管理系统,它们在设计理念、功能、性能和使用场景上有一些显著的区别。 以下是对这三者的详细比较和介绍。 1. MySQL 概述 类型:关系型数据库管理系统(RDBMS)。开发者:最…...
Android车机DIY开发之软件篇(十七) Android模拟器移植Automotive
AndroidProducts.mk 路径: /device/generic/goldfish/pc/AndroidProducts.mk sdk_pc_x86_64.mk路径: /device/generic/goldfish/pc/sdk_pc_x86_64.mk sdk_car_x86_64.mk路径: /device/generic/goldfish/car/sdk_car_x86_64.mk BoardConfig.mk…...
[Unity角色控制专题] (借助ai)详细解析官方第三人称控制器
首先模板链接在这里,你可以直接下载并导入unity即可查看官方为开发者写好一套控制器 本文的ai工具用到了豆包,其灵活程度很高,总结能力也强过我太多 因此大量使用,不喜勿喷 Starter Assets - ThirdPerson | Updates in new Charac…...
【数据结构基础_链表】
1、链表的定义 链表与数组的区分: 数组是一块连续的内存空间,有了这块内存空间的首地址,就能直接通过索引计算出任意位置的元素地址。 数组最大的优势是支持通过索引快速访问元素,而链表就不支持。链表不一样,一条链…...
Java 实现 Redis中的GEO数据结构
Java 实现 Redis中的GEO数据结构 LBS (基于位置信息服务(Location-Based Service,LBS))应用访问的数据是和人 或物关联的一组经纬度信息,而且要能查询相邻的经纬度范围,GEO 就非常适合应用在 …...
PostgreSQL如何关闭自动commit
PostgreSQL如何关闭自动commit 在 PostgreSQL 中,默认情况下,每个 SQL 语句都会自动提交(即 AUTOCOMMIT 是开启的)。如果希望关闭自动提交,以便手动控制事务的提交和回滚,可以通过以下方法实现。 1 使用 …...
1、云原生写在前面
云原生技术是什么(包含哪些组件)?每个组件是负责什么?学习这些组件技术能解决什问题?哪些类企业需要用到? 这是标准系列的问题,通过 deepseek 的深度思考就能得到我们想要的易于理解的人话式的…...
Redis离线安装
Linux系统Centos安装部署Redis缓存插件 参考:Redis中文网: https://www.redis.net.cn/ 参考:RPM软件包下载地址: https://rpmfind.net/linux/RPM/index.html http://rpm.pbone.net/ https://mirrors.aliyun.com/centos/7/os…...
网络安全-攻击流程-应用层
应用层攻击针对OSI模型的第七层(应用层),主要利用协议漏洞、业务逻辑缺陷或用户交互弱点,直接威胁Web应用、API、数据库等服务。以下是常见应用层攻击类型及其流程,以及防御措施: 1. SQL注入(SQ…...
java八股文-spring
目录 1. spring基础 1.1 什么是Spring? 1.2 Spring有哪些优点? 1.3 Spring主要模块 1.4 Spring常用注解 1.5 Spring中Bean的作用域 1.6 Spring自动装配的方式 1.7 SpringBean的生命周期 1.8 多级缓存 1.9 循环依赖? 1 .8.1 原因 1.8…...
Jvascript网页设计案例:通过js实现一款密码强度检测,适用于等保测评整改
本文目录 前言功能预览样式特点总结:1. 整体视觉风格2. 密码输入框设计3. 强度指示条4. 结果文本与原因说明 功能特点总结:1. 密码强度检测2. 实时反馈机制3. 详细原因说明4. 视觉提示5. 交互体验优化 密码强度检测逻辑Html代码Javascript代码 前言 能满…...
【Scrapy】Scrapy教程2——工作原理
文章目录 数据流组件引擎Engine调度器Scheduler下载器Downloader爬虫Spiders项目管道Item Pipeline下载器中间件Downloader Middlewares爬虫中间件Spider Middlewares 在学习Scrapy前,我们需要先了解其架构和工作原理,这样才能很好的去使用Scrapy。 Scra…...
探索 DeepSeek:AI 领域的璀璨新星
在人工智能飞速发展的当下,DeepSeek 作为行业内的重要参与者,正以独特的技术和广泛的应用备受瞩目。 DeepSeek 是一家专注于实现 AGI(通用人工智能)的中国人工智能公司。它拥有自主研发的深度学习框架,能高效处理海量…...
AI应用用户调度中间件:基于MCP协议的高并发会话管理方案
1. 项目概述:一个为AI应用量身定制的用户调度中间件最近在折腾AI应用开发,特别是那些需要处理多用户并发请求、管理复杂会话状态的项目时,我总感觉缺了点什么。现有的框架要么太重,要么太轻,要么就是得自己从零开始造轮…...
VisualCppRedist AIO终极指南:一站式解决Windows VC++运行库难题
VisualCppRedist AIO终极指南:一站式解决Windows VC运行库难题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过Windows应用程序无法…...
3步解锁《鸣潮》120帧性能飞跃:WaveTools工具箱完全指南
3步解锁《鸣潮》120帧性能飞跃:WaveTools工具箱完全指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》的卡顿和帧率限制烦恼吗?是否觉得60帧的游戏体验无法充分发挥…...
物理世界模型PhyGenesis:自动驾驶仿真的关键技术
1. 项目概述 PhyGenesis是一个基于物理规律的驾驶视频生成世界模型,它能够模拟真实世界中的驾驶场景,生成符合物理规律的连续视频帧。这个项目在自动驾驶仿真、驾驶员行为分析和智能交通系统测试等领域具有重要应用价值。 作为一名在计算机视觉和自动驾…...
Windows任务栏透明化终极指南:TranslucentTB深度解析与专业配置
Windows任务栏透明化终极指南:TranslucentTB深度解析与专业配置 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要彻底改造…...
如何快速掌握Can-I-Take-Over-XYZ:自定义指纹与多线程检测完整指南
如何快速掌握Can-I-Take-Over-XYZ:自定义指纹与多线程检测完整指南 【免费下载链接】can-i-take-over-xyz "Can I take over XYZ?" — a list of services and how to claim (sub)domains with dangling DNS records. 项目地址: https://gitcode.com/g…...
别再凭感觉了!手把手教你用KEIL MDK-ARM监控MCU栈空间使用率(附源码)
嵌入式开发实战:KEIL MDK-ARM环境下精准监控MCU栈空间使用率 在嵌入式系统开发中,栈空间管理一直是个令人头疼的问题。许多开发者习惯性地采用"凭感觉配置,出问题再调整"的被动策略,这种看似简单的方法往往导致系统在关…...
LocalAI:开源本地大模型推理服务器,兼容OpenAI API的私有化部署方案
1. 项目概述:当大模型遇见本地化 最近几个月,我身边不少搞开发的朋友都在讨论一个事儿:怎么才能在自己电脑上,或者公司内网里,低成本、安全地跑起来那些动辄几十上百亿参数的大语言模型?无论是想做个内部知…...
Three.js加载外部模型材质变黑?别慌,这5个排查步骤帮你搞定(附GLTF/GLB案例)
Three.js加载外部模型材质变黑?5步系统性排查指南 第一次在Three.js中加载精心制作的3D模型,却发现材质全黑或严重失真——这种挫败感几乎每个3D开发者都经历过。上周团队新来的前端工程师就遇到了这个经典问题:从Blender导出的GLB模型在本地…...
TensorFlow Recommenders多任务学习指南:同时优化多个推荐目标
TensorFlow Recommenders多任务学习指南:同时优化多个推荐目标 【免费下载链接】recommenders TensorFlow Recommenders is a library for building recommender system models using TensorFlow. 项目地址: https://gitcode.com/gh_mirrors/rec/recommenders …...
