赞
踩
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时自动生成.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。