diff --git a/src/main/java/net/geedge/asw/common/config/MybatisPlusConfig.java b/src/main/java/net/geedge/asw/common/config/MybatisPlusConfig.java index 68dfa32..d42657d 100644 --- a/src/main/java/net/geedge/asw/common/config/MybatisPlusConfig.java +++ b/src/main/java/net/geedge/asw/common/config/MybatisPlusConfig.java @@ -1,11 +1,15 @@ package net.geedge.asw.common.config; +import com.baomidou.mybatisplus.annotation.DbType; +import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator; +import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; +import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; +import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import com.baomidou.mybatisplus.annotation.DbType; -import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; -import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; +import java.util.UUID; +import java.util.concurrent.ThreadLocalRandom; @Configuration(proxyBeanMethods = false) public class MybatisPlusConfig { @@ -19,4 +23,29 @@ public class MybatisPlusConfig { interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MARIADB));//如果配置多个插件,切记分页最后添加 return interceptor; } + + @Bean + public IdentifierGenerator identifierGenerator() { + return new IdentifierGenerator() { + + @Override + public Number nextId(Object entity) { + return DefaultIdentifierGenerator.getInstance().nextId(entity); + } + + /** + * 自定义 UUID 生成格式,带有中划线,示例格式:c2ce91d1-d1f4-4629-aae4-414df36d87ca + * + * @param entity + * @return + */ + @Override + public String nextUUID(Object entity) { + ThreadLocalRandom random = ThreadLocalRandom.current(); + return (new UUID(random.nextLong(), random.nextLong())).toString(); + } + + }; + } + } \ No newline at end of file