Bladeren bron

rename some enum and interface

miemie 5 jaren geleden
bovenliggende
commit
9d81c7a501

+ 8 - 5
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/IdType.java

@@ -47,21 +47,24 @@ public enum IdType {
      */
     ASSIGN_ID(3),
     /**
-     * UUID (主键类型为 string)
+     * 分配UUID (主键类型为 string)
      */
-    UUID(4),
+    ASSIGN_UUID(4),
     /**
      * @deprecated 3.3.0 please use {@link #ASSIGN_ID}
      */
     @Deprecated
     ID_WORKER(3),
     /**
-     * 字符串全局唯一ID (idWorker 的字符串表示)
-     *
      * @deprecated 3.3.0 please use {@link #ASSIGN_ID}
      */
     @Deprecated
-    ID_WORKER_STR(3);
+    ID_WORKER_STR(3),
+    /**
+     * @deprecated 3.3.0 please use {@link #ASSIGN_UUID}
+     */
+    @Deprecated
+    UUID(4);
 
     private final int key;
 

+ 12 - 12
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/MybatisDefaultParameterHandler.java

@@ -16,6 +16,7 @@
 package com.baomidou.mybatisplus.core;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -160,20 +161,19 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
         final IdType idType = tableInfo.getIdType();
         final String keyProperty = tableInfo.getKeyProperty();
         if (StringUtils.isNotBlank(keyProperty) && null != idType && idType.getKey() >= 3) {
-            GlobalConfigUtils.getGlobalConfig(tableInfo.getConfiguration()).getIdGenerator().ifPresent(ig -> {
-                Object idValue = metaObject.getValue(keyProperty);
-                if (StringUtils.checkValNull(idValue)) {
-                    if (idType.getKey() == IdType.ASSIGN_ID.getKey()) {
-                        if (Number.class.isAssignableFrom(tableInfo.getKeyType())) {
-                            metaObject.setValue(keyProperty, ig.nextId(parameterObject));
-                        } else {
-                            metaObject.setValue(keyProperty, ig.nextId(parameterObject).toString());
-                        }
-                    } else if (idType.getKey() == IdType.UUID.getKey()) {
-                        metaObject.setValue(keyProperty, ig.nextUUID(parameterObject));
+            final IdentifierGenerator identifierGenerator = GlobalConfigUtils.getGlobalConfig(tableInfo.getConfiguration()).getIdentifierGenerator();
+            Object idValue = metaObject.getValue(keyProperty);
+            if (StringUtils.checkValNull(idValue)) {
+                if (idType.getKey() == IdType.ASSIGN_ID.getKey()) {
+                    if (Number.class.isAssignableFrom(tableInfo.getKeyType())) {
+                        metaObject.setValue(keyProperty, identifierGenerator.nextId(parameterObject));
+                    } else {
+                        metaObject.setValue(keyProperty, identifierGenerator.nextId(parameterObject).toString());
                     }
+                } else if (idType.getKey() == IdType.ASSIGN_UUID.getKey()) {
+                    metaObject.setValue(keyProperty, identifierGenerator.nextUUID(parameterObject));
                 }
-            });
+            }
         }
     }
 

+ 7 - 7
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/MybatisSqlSessionFactoryBuilder.java

@@ -16,8 +16,8 @@
 package com.baomidou.mybatisplus.core;
 
 import com.baomidou.mybatisplus.core.config.GlobalConfig;
-import com.baomidou.mybatisplus.core.incrementer.IdGenerator;
-import com.baomidou.mybatisplus.core.incrementer.DefaultGenerator;
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 import com.baomidou.mybatisplus.core.injector.SqlRunnerInjector;
 import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -83,10 +83,10 @@ public class MybatisSqlSessionFactoryBuilder extends SqlSessionFactoryBuilder {
         MybatisConfiguration configuration = (MybatisConfiguration) config;
         GlobalConfig globalConfig = GlobalConfigUtils.getGlobalConfig(configuration);
         if (null != globalConfig.getWorkerId() && null != globalConfig.getDatacenterId()) {
-            IdGenerator idGenerator = new DefaultGenerator(globalConfig.getWorkerId(), globalConfig.getDatacenterId());
-            globalConfig.setIdGenerator(idGenerator);
+            IdentifierGenerator identifierGenerator = new DefaultIdentifierGenerator(globalConfig.getWorkerId(), globalConfig.getDatacenterId());
+            globalConfig.setIdentifierGenerator(identifierGenerator);
             //TODO 这里只是为了兼容下,并没多大重要,方法标记过时了.
-            IdWorker.setIdGenerator(idGenerator);
+            IdWorker.setIdGenerator(identifierGenerator);
         }
         if (globalConfig.isEnableSqlRunner()) {
             new SqlRunnerInjector().inject(configuration);
@@ -94,8 +94,8 @@ public class MybatisSqlSessionFactoryBuilder extends SqlSessionFactoryBuilder {
 
         SqlSessionFactory sqlSessionFactory = super.build(configuration);
 
-        // 设置全局参数属性 以及 缓存 sqlSessionFactory
-        globalConfig.signGlobalConfig(sqlSessionFactory);
+        // 缓存 sqlSessionFactory
+        globalConfig.setSqlSessionFactory(sqlSessionFactory);
 
         return sqlSessionFactory;
     }

+ 6 - 21
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/config/GlobalConfig.java

@@ -18,20 +18,17 @@ package com.baomidou.mybatisplus.core.config;
 import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
 import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
-import com.baomidou.mybatisplus.core.incrementer.IdGenerator;
-import com.baomidou.mybatisplus.core.incrementer.DefaultGenerator;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
 import com.baomidou.mybatisplus.core.injector.ISqlInjector;
 import com.baomidou.mybatisplus.core.mapper.Mapper;
-import lombok.AccessLevel;
 import lombok.Data;
-import lombok.Setter;
 import lombok.experimental.Accessors;
 import org.apache.ibatis.session.SqlSessionFactory;
 
 import java.io.Serializable;
-import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ConcurrentSkipListSet;
 
@@ -53,7 +50,7 @@ public class GlobalConfig implements Serializable {
     /**
      * 机器 ID 部分
      *
-     * @see #setIdGenerator(IdGenerator)
+     * @see #setIdentifierGenerator(IdentifierGenerator)
      * @deprecated 3.3.0
      */
     @Deprecated
@@ -61,7 +58,7 @@ public class GlobalConfig implements Serializable {
     /**
      * 数据标识 ID 部分
      *
-     * @see #setIdGenerator(IdGenerator)
+     * @see #setIdentifierGenerator(IdentifierGenerator)
      * @deprecated 3.3.0
      */
     @Deprecated
@@ -83,9 +80,8 @@ public class GlobalConfig implements Serializable {
      */
     private Class<?> superMapperClass = Mapper.class;
     /**
-     * 缓存当前Configuration的SqlSessionFactory
+     * SqlSessionFactory
      */
-    @Setter(value = AccessLevel.NONE)
     private SqlSessionFactory sqlSessionFactory;
     /**
      * 缓存已注入CRUD的Mapper信息
@@ -98,18 +94,7 @@ public class GlobalConfig implements Serializable {
     /**
      * 主键生成器
      */
-    private IdGenerator idGenerator = new DefaultGenerator();
-
-    public Optional<IdGenerator> getIdGenerator() {
-        return Optional.ofNullable(idGenerator);
-    }
-
-    /**
-     * 标记全局设置 (统一所有入口)
-     */
-    public void signGlobalConfig(SqlSessionFactory sqlSessionFactory) {
-        this.sqlSessionFactory = sqlSessionFactory;
-    }
+    private IdentifierGenerator identifierGenerator = new DefaultIdentifierGenerator();
 
     @Data
     public static class DbConfig {

+ 4 - 4
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/incrementer/DefaultGenerator.java → mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/incrementer/DefaultIdentifierGenerator.java

@@ -24,19 +24,19 @@ import com.baomidou.mybatisplus.core.toolkit.Sequence;
  * @date 2019-10-15
  * @since 3.3.0
  */
-public class DefaultGenerator implements IdGenerator {
+public class DefaultIdentifierGenerator implements IdentifierGenerator {
 
     private final Sequence sequence;
 
-    public DefaultGenerator() {
+    public DefaultIdentifierGenerator() {
         this.sequence = new Sequence();
     }
 
-    public DefaultGenerator(long workerId, long dataCenterId) {
+    public DefaultIdentifierGenerator(long workerId, long dataCenterId) {
         this.sequence = new Sequence(workerId, dataCenterId);
     }
 
-    public DefaultGenerator(Sequence sequence) {
+    public DefaultIdentifierGenerator(Sequence sequence) {
         this.sequence = sequence;
     }
 

+ 1 - 2
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/incrementer/IdGenerator.java → mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/incrementer/IdentifierGenerator.java

@@ -26,7 +26,7 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
  * @since 2019-10-15
  * @since 3.3.0
  */
-public interface IdGenerator {
+public interface IdentifierGenerator {
 
     /**
      * 生成Id
@@ -45,5 +45,4 @@ public interface IdGenerator {
     default String nextUUID(Object entity) {
         return IdWorker.get32UUID();
     }
-
 }

+ 9 - 9
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/IdWorker.java

@@ -16,8 +16,8 @@
 package com.baomidou.mybatisplus.core.toolkit;
 
 import com.baomidou.mybatisplus.core.config.GlobalConfig;
-import com.baomidou.mybatisplus.core.incrementer.DefaultGenerator;
-import com.baomidou.mybatisplus.core.incrementer.IdGenerator;
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -39,7 +39,7 @@ public class IdWorker {
      * @deprecated 3.3.0
      */
     @Deprecated
-    private static IdGenerator ID_GENERATOR = new DefaultGenerator();
+    private static IdentifierGenerator ID_GENERATOR = new DefaultIdentifierGenerator();
 
     /**
      * 毫秒格式化时间
@@ -91,24 +91,24 @@ public class IdWorker {
      *
      * @param workerId     工作机器 ID
      * @param dataCenterId 序列号
-     * @see #setIdGenerator(IdGenerator)
+     * @see #setIdGenerator(IdentifierGenerator)
      * @deprecated 3.3.0
      */
     @Deprecated
     public static void initSequence(long workerId, long dataCenterId) {
-        ID_GENERATOR = new DefaultGenerator(workerId, dataCenterId);
+        ID_GENERATOR = new DefaultIdentifierGenerator(workerId, dataCenterId);
     }
 
     /**
      * 自定义id 生成方式
      *
-     * @param idGenerator id 生成器
-     * @see GlobalConfig#setIdGenerator(IdGenerator)
+     * @param identifierGenerator id 生成器
+     * @see GlobalConfig#setIdentifierGenerator(IdentifierGenerator)
      * @deprecated 3.3.0
      */
     @Deprecated
-    public static void setIdGenerator(IdGenerator idGenerator) {
-        ID_GENERATOR = idGenerator;
+    public static void setIdGenerator(IdentifierGenerator identifierGenerator) {
+        ID_GENERATOR = identifierGenerator;
     }
 
     /**

+ 3 - 3
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/core/MybatisDefaultParameterHandlerTest.java

@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.baomidou.mybatisplus.core.incrementer.DefaultGenerator;
+import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
 import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
 import lombok.AllArgsConstructor;
@@ -51,7 +51,7 @@ class MybatisDefaultParameterHandlerTest {
         MappedStatement mappedStatement;
         Configuration configuration = new MybatisConfiguration();
         StaticSqlSource staticSqlSource = new StaticSqlSource(configuration, " ***********");
-        GlobalConfigUtils.getGlobalConfig(configuration).setIdGenerator(new DefaultGenerator()).setMetaObjectHandler(new MetaObjectHandler() {
+        GlobalConfigUtils.getGlobalConfig(configuration).setIdentifierGenerator(new DefaultIdentifierGenerator()).setMetaObjectHandler(new MetaObjectHandler() {
 
             @Override
             public boolean compatibleFillId() {
@@ -61,7 +61,7 @@ class MybatisDefaultParameterHandlerTest {
             @Override
             public void insertFill(MetaObject metaObject) {
                 //TODO 这种骚操作要干掉!!!!!!!!!!!!
-                setFieldValByName("id",666L,metaObject);
+                setFieldValByName("id", 666L, metaObject);
                 setFieldValByName("insertOperator", "咩咩", metaObject);
             }
 

+ 1 - 1
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/IdGeneratorTest.java → mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/IdentifierGeneratorTest.java

@@ -14,7 +14,7 @@ import org.springframework.test.context.junit.jupiter.SpringExtension;
 @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
 @ExtendWith(SpringExtension.class)
 @ContextConfiguration(locations = {"classpath:h2/spring-id-generator-h2.xml"})
-class IdGeneratorTest {
+class IdentifierGeneratorTest {
 
     @Autowired
     private LongIdGeneratorMapper longIdGeneratorMapper;

+ 2 - 2
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/idgenerator/CustomIdGenerator.java

@@ -1,12 +1,12 @@
 package com.baomidou.mybatisplus.test.h2.idgenerator;
 
-import com.baomidou.mybatisplus.core.incrementer.IdGenerator;
+import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import org.apache.ibatis.reflection.SystemMetaObject;
 
-public class CustomIdGenerator implements IdGenerator {
+public class CustomIdGenerator implements IdentifierGenerator {
 
     @Override
     public Number nextId(Object entity) {

+ 2 - 1
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/idgenerator/IdGeneratorConfig.java

@@ -11,6 +11,7 @@ import org.apache.ibatis.type.JdbcType;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+
 import javax.sql.DataSource;
 
 @Configuration
@@ -37,7 +38,7 @@ public class IdGeneratorConfig {
     public GlobalConfig globalConfiguration() {
         GlobalConfig conf = new GlobalConfig();
         //自定义Id生成器
-        conf.setIdGenerator(new CustomIdGenerator());
+        conf.setIdentifierGenerator(new CustomIdGenerator());
         return conf;
     }