重写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 {

    
    @Override
    public boolean assignId(Object idValue) {
        return IdentifierGenerator.super.assignId(idValue);
    }

    //重写雪花id算法
    @Override
    public Number nextId(Object entity) {
        return SequenceUtil.makeId();
    }

    //重写uuid算法,不过滤-
    @Override
    public String nextUUID(Object entity) {
        return UUID.randomUUID().toString();
    }
}

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


@Configuration
public class MybatisPlusConfig {

    @Bean
    public 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时自动生成.

相关推荐

  1. mybatisPlus定义ID生成策略

    2024-06-10 01:20:02       12 阅读
  2. 开箱即用之MyBatisPlus XML 定义分页

    2024-06-10 01:20:02       32 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-10 01:20:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-10 01:20:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-10 01:20:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-10 01:20:02       20 阅读

热门阅读

  1. 【架构分析】GPU执行GEMM矩阵运算实例演示

    2024-06-10 01:20:02       10 阅读
  2. RoLabelImg下载及旋转目标检测数据标注

    2024-06-10 01:20:02       8 阅读
  3. C++中避免内存泄漏的方法

    2024-06-10 01:20:02       9 阅读
  4. Windows环境如何安装Flutter:全面指南

    2024-06-10 01:20:02       8 阅读
  5. KIVY Widget class

    2024-06-10 01:20:02       9 阅读
  6. c++ pugixml编译动态库dll

    2024-06-10 01:20:02       10 阅读
  7. 初学者使用sql时易犯的错误(持续更新)

    2024-06-10 01:20:02       10 阅读
  8. uni-app 倒计时组件

    2024-06-10 01:20:02       9 阅读