尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
MyBatis-Plus(MP)2025/2/15
小蓝鸟。约定大于配置。只做增强不做改变不影响现有工程。相对Mybatis小红鸟MyBatis-Plus 帮助文档简介 | MyBatis-PlusMyBatis-Plus快速入门pom文件里引入MyBatis-Plus依赖代替MyBatis依赖。自定义Mapper接口继承BaseMapper接口。BaseMapper接口给我们提供了一堆写好的crud方法直接引用就不用自己手写了。泛型是操作实体类的类型这里是user。MP获取数据库信息的原理MyBatisPlus通过扫描实体类并基于反射获取实体类信息作为数据库表信息。约定大于配置。自定义配置如果主键id没有指定自增加auto默认id使用雪花算法。MP自定义配置有了MP的starter起步依赖就可以使用MP同时MP也支持自定义配置。MP核心功能条件构造器MP支持各种复杂的where条件可以满足日常开发的所有需求。自定义SQL可以利用MyBatisPlus的Wrapper来构建复杂的where条件然后自己定义SQL语句中剩下的部分。Service接口继承IServiceService的增删改查代码也不用自己写了。总结自定义接口UserService需要去继承IService接口MP不仅给我们提供了接口IService还给我们提供了Service默认的实现类叫ServiceImpl已经实现了IService接口了实现类UserServiceImpl需要去继承实现类ServiceImpl。IService开发基础业务功能接口MP接口练习MybatisPlus-08.核心功能-IService开发基础业务接口_哔哩哔哩_bilibiliMybatisPlus-09.核心功能-IService开发复杂业务接口_哔哩哔哩_bilibiliMybatisPlus-10.核心功能-IService的Lambda方法_哔哩哔哩_bilibiliMybatisPlus-11.核心功能-IService的批量新增_哔哩哔哩_bilibiliMP的扩展功能代码生成基本格式生成上面类似的代码可以使用MyBatisX快速代码插件(idea)DB静态工具方便避免循环依赖。为什么用DB这个工具多个service之间相互调如果采用传统的autowire注入方式两个service相互注入就会产生循环依赖。建议一旦出现service相互调用建议使用db静态工具调用。db工具的方法和service里的方法基本一样。逻辑删除不是真正的删除一个东西而是基于逻辑判断的方式模拟删除效果。逻辑删除就是基于代码逻辑模拟删除效果但不会真正删除数据思路如下图所以这种操作不是delete而是update更新某个标记字段的取值。以后的where查询里要有标记字段为0的条件只需要修改application文件配置删除的字段名称和值就可以自动修改了。假如该字段叫flag坏处会导致数据库的垃圾越来越多。枚举处理器枚举类型和数据库字段之间的相互转换。下图就需要进行这样的转换数据库里的status数据类型是int的而枚举类型是UserStatus。Mybatis里的TypeHandler就实现了java数据类型和数据库类型之间的转换。但是这里我们用的是另一种方法。首先加注解EnumValue。第二步VO里类型变量PO里也要变类型从Interger变成UserStatus方便以后拷贝。JsonValue加到哪里就返回哪个这个返回的就是正常或冻结不加返回Normal或Frozen。JSON处理器解决数据库中Json数据类型和java类型之间的转换。json类型在java中一般用String类型接收。如果要取json里单独信息要转换成对象很麻烦。使用自带接口。1.给字段定义处理器。2.开启map自动映射。MP的插件功能分页插件1.配置2.使用分页Api3.通用分页实体通用分页实体与MP转换
RELATED

相关推荐

Git log 怎么用?查看提交历史完整教程

Git log 怎么用?查看提交历史完整教程

从保存、查看、恢复到冲突处理与常见问题 Git 实用教程 大家好,我是 lazy,一名大二科班学生 前言 在日常开发中,经常会遇到这样的情况:当前功能只写了一半,突然需要切换到其他分支修复线上问题;或者准…

📅 2026/8/23 1:52:21
3步掌握SillyTavern:打造沉浸式AI角色对话体验

3步掌握SillyTavern:打造沉浸式AI角色对话体验

3步掌握SillyTavern:打造沉浸式AI角色对话体验 【免费下载链接】SillyTavern LLM Frontend for Power Users. 项目地址: https://gitcode.com/GitHub_Trending/si/SillyTavern SillyTavern是一款专为AI角色对话设计的前端工具,让普通用户也能轻松…

📅 2026/8/23 1:52:22
为什么降AI工具每次处理结果不一样深度解读:降AI随机性原理与稳定达标方案

为什么降AI工具每次处理结果不一样深度解读:降AI随机性原理与稳定达标方案

为什么降AI工具每次处理结果不一样深度解读:降AI随机性原理与稳定达标方案 很多人遇到为什么降AI工具每次处理结果不一样的问题,却找不到一个说清楚原因的解答。 这篇文章把背后逻辑梳理清楚,顺带给出实战方案。 为什么降AI工具每次处理结果…

📅 2026/9/9 22:57:41
MORE NEWS

更多资讯

📰

douyin-downloader 完整新手指南:6 条命令跑通抖音无水印批量下载

douyin-downloader 完整新手指南:6 条命令跑通抖音无水印批量下载 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fal…

📰

Loop:免费开源的 Mac 窗口管理工具,5 分钟就能上手

Loop:免费开源的 Mac 窗口管理工具,5 分钟就能上手 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 第三次把浏览器窗口拖歪、又得手动对齐之后,你终于受够了。Loop 是…

📰

windows-rs 构建工具链的核心元数据底座:windows-default 深入解析

windows-rs 构建工具链的核心元数据底座:windows-default 深入解析 【免费下载链接】windows-rs Rust for Windows 项目地址: https://gitcode.com/GitHub_Trending/wi/windows-rs windows-default 是 Rust for Windows(windows-rs)仓库…

📰

LogicFlow DynamicGroup 连线限制机制:`disallowEdgeConnectToGroup` 严格模式的设计与实现

LogicFlow DynamicGroup 连线限制机制:disallowEdgeConnectToGroup 严格模式的设计与实现 【免费下载链接】LogicFlow A flow chart editing framework focus on business customization. 专注于业务自定义的流程图编辑框架,支持实现脑图、ER图、UML、工…

📰

axolotl 预训练与持续预训练实战指南:completion 非流式与 pretraining_dataset 流式方案全解析

axolotl 预训练与持续预训练实战指南:completion 非流式与 pretraining_dataset 流式方案全解析 【免费下载链接】axolotl Go ahead and axolotl questions 项目地址: https://gitcode.com/GitHub_Trending/ax/axolotl 导读 本文聚焦 axolotl 中“基于纯文本…

📰

基于Elasticsearch的RAG混合检索实战:部署、调优与避坑

最近我又在做RAG技术相关的项目,这次从零搭了一套基于Elasticsearch的检索增强生成方案。之前图省事直接用现成的向量数据库,结果在真实业务里被虐得很惨:文档里全是专有名词,靠向量召回查不准,过滤条件一多性能就崩。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬