浏览代码

优化完善

miemie 6 年之前
父节点
当前提交
e5654b02ee

+ 3 - 22
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/FieldStrategy.java

@@ -15,8 +15,6 @@
  */
 package com.baomidou.mybatisplus.annotation;
 
-import lombok.Getter;
-
 /**
  * <p>
  * 字段策略枚举类
@@ -25,34 +23,17 @@ import lombok.Getter;
  * @author hubin
  * @since 2016-09-09
  */
-@Getter
 public enum FieldStrategy {
     /**
      * 忽略判断
      */
-    IGNORED(0, "忽略判断"),
+    IGNORED,
     /**
      * 非NULL判断
      */
-    NOT_NULL(1, "非 NULL 判断"),
+    NOT_NULL,
     /**
      * 非空判断
      */
-    NOT_EMPTY(2, "非空判断");
-
-    /**
-     * 主键
-     */
-    private final int key;
-
-    /**
-     * 描述
-     */
-    private final String desc;
-
-    FieldStrategy(final int key, final String desc) {
-        this.key = key;
-        this.desc = desc;
-    }
-
+    NOT_EMPTY
 }

+ 14 - 23
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/IdType.java

@@ -30,42 +30,33 @@ public enum IdType {
     /**
      * 数据库ID自增
      */
-    AUTO(0, "数据库ID自增"),
+    AUTO(0),
     /**
      * 用户输入ID
      */
-    INPUT(1, "用户输入ID"),
-
-    /* 以下2种类型、只有当插入对象ID 为空,才自动填充。 */
-    /**
-     * 全局唯一ID
-     */
-    ID_WORKER(2, "全局唯一ID"),
-    /**
-     * 全局唯一ID
-     */
-    UUID(3, "全局唯一ID"),
+    INPUT(1),
     /**
      * 该类型为未设置主键类型
      */
-    NONE(4, "该类型为未设置主键类型"),
+    NONE(2),
+
+    /* 以下3种类型、只有当插入对象ID 为空,才自动填充。 */
     /**
-     * 字符串全局唯一ID
+     * 全局唯一ID (idWorker)
      */
-    ID_WORKER_STR(5, "字符串全局唯一ID");
-
+    ID_WORKER(3),
     /**
-     * 主键
+     * 全局唯一ID (UUID)
      */
-    private final int key;
-
+    UUID(4),
     /**
-     * 描述
+     * 字符串全局唯一ID (idWorker 的字符串表示)
      */
-    private final String desc;
+    ID_WORKER_STR(5);
+
+    private int key;
 
-    IdType(final int key, final String desc) {
+    IdType(int key) {
         this.key = key;
-        this.desc = desc;
     }
 }

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

@@ -15,21 +15,12 @@
  */
 package com.baomidou.mybatisplus.core;
 
-import java.lang.reflect.Field;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import com.baomidou.mybatisplus.core.toolkit.*;
 import org.apache.ibatis.executor.ErrorContext;
-import org.apache.ibatis.mapping.BoundSql;
-import org.apache.ibatis.mapping.MappedStatement;
-import org.apache.ibatis.mapping.ParameterMapping;
-import org.apache.ibatis.mapping.ParameterMode;
-import org.apache.ibatis.mapping.SqlCommandType;
+import org.apache.ibatis.mapping.*;
 import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.scripting.defaults.DefaultParameterHandler;
 import org.apache.ibatis.session.Configuration;
@@ -38,24 +29,20 @@ import org.apache.ibatis.type.TypeException;
 import org.apache.ibatis.type.TypeHandler;
 import org.apache.ibatis.type.TypeHandlerRegistry;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.baomidou.mybatisplus.core.metadata.TableInfo;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.baomidou.mybatisplus.core.toolkit.GlobalConfigUtils;
-import com.baomidou.mybatisplus.core.toolkit.IdWorker;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.core.toolkit.TableInfoHelper;
+import java.lang.reflect.Field;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.*;
 
 /**
  * <p>
  * 自定义 ParameterHandler 重装构造函数,填充插入方法主键 ID
  * </p>
+ * TODO: 3.0 优化注解填充 ?   怎么优化?
  *
  * @author hubin
  * @since 2016-03-11
  */
-//TODO: 3.0 优化注解填充
 public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
 
     /**
@@ -116,8 +103,8 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
         if (ms.getSqlCommandType() == SqlCommandType.INSERT) {
             isFill = true;
             isInsert = true;
-        } else if (ms.getSqlCommandType() == SqlCommandType.UPDATE
-            && metaObjectHandler != null && metaObjectHandler.openUpdateFill()) {
+        } else if (ms.getSqlCommandType() == SqlCommandType.UPDATE &&
+            metaObjectHandler != null && metaObjectHandler.openUpdateFill()) {
             isFill = true;
         }
         if (isFill) {
@@ -140,8 +127,8 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
                 TableInfo tableInfo = null;
                 if (parameterObject instanceof Map) {
                     Map map = (Map) parameterObject;
-                    if (map.containsKey("et")) {
-                        Object et = map.get("et");
+                    if (map.containsKey(Constants.ENTITY)) {
+                        Object et = map.get(Constants.ENTITY);
                         if (et != null) {
                             if (et instanceof Map) {
                                 Map realEtMap = (Map) et;
@@ -214,7 +201,7 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
         MetaObject metaObject = ms.getConfiguration().newMetaObject(parameterObject);
         // 填充主键
         if (isInsert && !StringUtils.isEmpty(tableInfo.getKeyProperty())
-            && null != tableInfo.getIdType() && tableInfo.getIdType().getKey() >= 2) {
+            && null != tableInfo.getIdType() && tableInfo.getIdType().getKey() >= 3) {
             Object idValue = metaObject.getValue(tableInfo.getKeyProperty());
             /* 自定义 ID */
             if (StringUtils.checkValNull(idValue)) {
@@ -286,5 +273,4 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
             }
         }
     }
-
 }