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

重写mybatisPlus自定义ID生成策略

1.项目中需要引入mybatisplus核心组件

            <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mp.version}</version></dependency>

2.新建一个类实现IdentifierGenerator,重写id生成策略

import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;import java.util.UUID;public class CustomUUIDGenerator implements IdentifierGenerator {@Overridepublic boolean assignId(Object idValue) {return IdentifierGenerator.super.assignId(idValue);}//重写雪花id算法@Overridepublic Number nextId(Object entity) {return SequenceUtil.makeId();}//重写uuid算法,不过滤-@Overridepublic String nextUUID(Object entity) {return UUID.randomUUID().toString();}
}

3.在mybatisplus配置文件中注入bean


@Configuration
public class MybatisPlusConfig {@Beanpublic IdentifierGenerator identifierGenerator() {return new CustomUUIDGenerator();}}

4.在实体bean映射类中使用需要在ID字段上加入注解

ASSIGN_UUID即为重写后生成的UUID,原生成的uuid为32位,没有-连接符,id需要使用String类型

@TableId(value = "id", type = IdType.ASSIGN_UUID)
ASSIGN_ID即为重写后生成的雪花id,值为Long类型
@TableId(value = "workspaceid", type = IdType.ASSIGN_ID)

此方法为重写覆盖原生mybatisplus,所以不影响其他地方,id依然会在insert时自动生成.

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

相关文章:

  • 华为坤灵路由器配置SSH
  • 盘点一个Python网络爬虫的实战问题
  • 100道面试必会算法-32-二叉树右视图用栈实现队列
  • ⽀付逻辑漏洞思路⼩集合
  • 嵌入式学习——Linux高级编程复习(线程)——day40
  • kvm管理工具-virsh
  • VisionPro的应用和入门教程
  • 整数规划问题算法例子
  • C#启动一个cmd.exe多次随时输入命令并获取输出
  • 持续总结中!2024年面试必问 20 道分布式、微服务面试题(五)
  • Android输入法IME(三)之 管理端(IMMS)启动流程
  • elasticsearch安装与使用(4)-搜索入门
  • 【UML用户指南】-12-对高级结构建模-接口、类型和角色
  • C++笔试强训day42
  • Docker 中运行的 MySQL 数据库与 Docker 外部的管理系统连接
  • 10 设备树
  • 【架构分析】GPU执行GEMM矩阵运算实例演示
  • 从《千脑智能》看大模型
  • k8s Pods漂移时间配置
  • Python - json 美化格式、保存文件
  • 博客目录~
  • RPC RMI 区别以及在java中的应用
  • TCP和udp能使用同一个端口通讯吗
  • 红黑树的介绍与实现
  • easyexcel将csv转为excel处理数字问题
  • DDMA信号处理以及数据处理的流程---随机目标生成
  • 爬虫实现思路
  • 神经网络 torch.nn---Non-Linear Activations (ReLU)
  • 【微服务】使用kubekey部署k8s多节点及kubesphere
  • 目标检测数据集 - 垃圾桶满溢检测数据集下载「包含VOC、COCO、YOLO三种格式」