Browse Source

一波性能优化

hubin 7 years ago
parent
commit
69d35fca69

+ 1 - 1
mybatis-plus-annotation/src/main/java/com/baomidou/mybatisplus/annotation/TableField.java

@@ -71,7 +71,7 @@ public @interface TableField {
      * 默认 `=` 等值
      * </p>
      */
-    String condition();
+    String condition() default "";
 
     /**
      * <p>

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

@@ -104,13 +104,16 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
      * @return
      */
     protected static Object processBatch(MappedStatement ms, Object parameterObject) {
-        //检查parameterObject
+        //检查 parameterObject
         if (null == parameterObject) {
             return null;
         }
-        boolean isFill = false;
         // 全局配置是否配置填充器
         MetaObjectHandler metaObjectHandler = GlobalConfigUtils.getMetaObjectHandler(ms.getConfiguration());
+        if (null == metaObjectHandler) {
+            return parameterObject;
+        }
+        boolean isFill = false;
         /* 只处理插入或更新操作 */
         if (ms.getSqlCommandType() == SqlCommandType.INSERT) {
             isFill = true;
@@ -143,7 +146,8 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
                         if (et != null) {
                             if (et instanceof Map) {
                                 Map realEtMap = (Map) et;
-                                if (realEtMap.containsKey("MP_OPTLOCK_ET_ORIGINAL")) {//refer to OptimisticLockerInterceptor.MP_OPTLOCK_ET_ORIGINAL
+                                if (realEtMap.containsKey("MP_OPTLOCK_ET_ORIGINAL")) {
+                                    //refer to OptimisticLockerInterceptor.MP_OPTLOCK_ET_ORIGINAL
                                     tableInfo = TableInfoHelper.getTableInfo(realEtMap.get("MP_OPTLOCK_ET_ORIGINAL").getClass());
                                 }
                             } else {
@@ -252,7 +256,8 @@ public class MybatisDefaultParameterHandler extends DefaultParameterHandler {
                 if (parameterMapping.getMode() != ParameterMode.OUT) {
                     Object value;
                     String propertyName = parameterMapping.getProperty();
-                    if (boundSql.hasAdditionalParameter(propertyName)) {//issue#448 ask first for additional params
+                    if (boundSql.hasAdditionalParameter(propertyName)) {
+                        //issue#448 ask first for additional params
                         value = boundSql.getAdditionalParameter(propertyName);
                     } else if (parameterObject == null) {
                         value = null;

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

@@ -77,7 +77,7 @@ public class GlobalConfig implements Serializable {
     /**
      * 元对象字段填充控制器
      */
-    private MetaObjectHandler metaObjectHandler = MetaObjectHandler.getInstance();
+    private MetaObjectHandler metaObjectHandler;
 
     /**
      * <p>

+ 0 - 14
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/handlers/MetaObjectHandler.java

@@ -112,18 +112,4 @@ public abstract class MetaObjectHandler {
         return true;
     }
 
-    public static MetaObjectHandler getInstance() {
-        return new MetaObjectHandler() {
-
-            @Override
-            public void insertFill(MetaObject metaObject) {
-                //default do nothing
-            }
-
-            @Override
-            public void updateFill(MetaObject metaObject) {
-                //default do nothing
-            }
-        };
-    }
 }

+ 1 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/TableFieldInfo.java

@@ -131,7 +131,7 @@ public class TableFieldInfo {
         }
         tableInfo.setLogicDelete(this.initLogicDelete(dbConfig, field));
         this.update = tableField.update();
-        if (null != tableField.condition()) {
+        if (StringUtils.isNotEmpty(tableField.condition())) {
             // 细粒度条件控制
             this.condition = tableField.condition();
         } else {

+ 2 - 1
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/sql/SqlUtils.java

@@ -78,7 +78,8 @@ public class SqlUtils {
             } else {
                 // 默认 JsqlParser 优化 COUNT
                 try {
-                    if (DEFAULT_CLASS == null) {//plus-extension not included
+                    if (DEFAULT_CLASS == null) {
+                        //plus-extension not included
                         return SqlInfo.newInstance().setSql(getOriginalCountSql(originalSql));
                     }
                     // TODO 3.0 changed

+ 1 - 1
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/spring/MybatisSqlSessionFactoryBean.java

@@ -461,7 +461,7 @@ public class MybatisSqlSessionFactoryBean implements FactoryBean<SqlSessionFacto
 
         // TODO 自定义枚举类扫描处理
         if (hasLength(this.typeEnumsPackage)) {
-            Set<Class> classes = null;
+            Set<Class> classes;
             if (typeEnumsPackage.contains("*") && !typeEnumsPackage.contains(",")
                 && !typeEnumsPackage.contains(";")) {
                 classes = PackageHelper.scanTypePackage(typeEnumsPackage);

+ 1 - 1
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/converts/MySqlTypeConvert.java

@@ -68,7 +68,7 @@ public class MySqlTypeConvert implements ITypeConvert {
                             return DbColumnType.DATE_SQL;
                         case "time":
                             return DbColumnType.TIME;
-                        case "year"://todo 这个year可能有bug
+                        case "year":
                             return DbColumnType.DATE_SQL;
                         default:
                             return DbColumnType.TIMESTAMP;