miemie пре 5 година
родитељ
комит
a2f96836b2

+ 18 - 3
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/IdType.java

@@ -41,17 +41,32 @@ public enum IdType {
 
     /* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */
     /**
-     * 全局唯一ID (idWorker)
+     * 分配ID (主键类型为 number 对应 #{@link com.baomidou.mybatisplus.core.incrementer.IdGenerator#nextId}) </p>
+     * 否则认为是 string 类型 对上值进行 toString
+     *
+     * @since 3.3.0
+     */
+    ASSIGN_ID(3),
+    /**
+     * 分配UUID (主键类型为 string 对应 #{@link com.baomidou.mybatisplus.core.incrementer.IdGenerator#nextUUID})
+     *
+     * @since 3.3.0
      */
+    ASSIGN_UUID(4),
+    /**
+     * @deprecated 3.3.0 please use {@link #ASSIGN_ID}
+     */
+    @Deprecated
     ID_WORKER(3),
     /**
-     * 全局唯一ID (UUID)
+     * @deprecated 3.3.0 please use {@link #ASSIGN_UUID}
      */
+    @Deprecated
     UUID(4),
     /**
      * 字符串全局唯一ID (idWorker 的字符串表示)
      *
-     * @deprecated 3.3.0 可使用{@link #ID_WORKER}
+     * @deprecated 3.3.0 please use {@link #ASSIGN_ID}
      */
     @Deprecated
     ID_WORKER_STR(5);

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

@@ -19,7 +19,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.core.incrementer.IdGenerator;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
-import com.baomidou.mybatisplus.core.toolkit.*;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
+import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.apache.ibatis.executor.ErrorContext;
 import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.reflection.MetaObject;
@@ -167,10 +170,10 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
                     if (Number.class.isAssignableFrom(tableInfo.getKeyType())) {
                         metaObject.setValue(tableInfo.getKeyProperty(), idGenerator.nextId(parameterObject));
                     } else {
-                        metaObject.setValue(tableInfo.getKeyProperty(), String.valueOf(idGenerator.nextId(parameterObject)));
+                        metaObject.setValue(tableInfo.getKeyProperty(), idGenerator.nextId(parameterObject).toString());
                     }
                 } else if (tableInfo.getIdType() == IdType.ID_WORKER_STR) {
-                    metaObject.setValue(tableInfo.getKeyProperty(), String.valueOf(idGenerator.nextId(parameterObject)));
+                    metaObject.setValue(tableInfo.getKeyProperty(), idGenerator.nextId(parameterObject).toString());
                 } else if (tableInfo.getIdType() == IdType.UUID) {
                     metaObject.setValue(tableInfo.getKeyProperty(), idGenerator.nextUUID(parameterObject));
                 }
@@ -185,7 +188,7 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
                     metaObjectHandler.insertFill(metaObject);
                 } else {
                     // 兼容旧操作 id类型为input或none的要用填充器处理一下
-                    if(metaObjectHandler.compatibleFillId()){
+                    if (metaObjectHandler.compatibleFillId()) {
                         String keyProperty = tableInfo.getKeyProperty();
                         if (StringUtils.isNotBlank(keyProperty)) {
                             Object value = metaObject.getValue(keyProperty);

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

@@ -21,8 +21,8 @@ import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 /**
  * Id生成器接口
  *
- * @author sd-wangtaicheng@sdcncsi.com.cn
- * @date 2019/10/15
+ * @author sd-wangtaicheng@sdcncsi.com.cn qiuqiu
+ * @since 2019-10-15
  * @since 3.2.1
  */
 public interface IdGenerator {