Browse Source

升级 2.0.9

= 8 years ago
parent
commit
65bb3e2bf8

+ 1 - 1
build.gradle

@@ -16,7 +16,7 @@ ext {
 }
 
 group = 'com.baomidou'
-version = '2.0.8'
+version = '2.0.9'
 
 description = "Mybatis 增强工具包 - 只做增强不做改变,简化CRUD操作"
 

+ 10 - 0
src/main/java/com/baomidou/mybatisplus/mapper/MetaObjectHandler.java

@@ -50,7 +50,12 @@ public abstract class MetaObjectHandler {
     public abstract void updateFill(MetaObject metaObject);
 
     /**
+     * <p>
      * Common method to set value for java bean.
+     * </p>
+     * <p>
+     * 如果包含前缀 et 使用该方法,否则可以直接 metaObject.setValue(fieldName, fieldVal);
+     * </p>
      *
      * @param fieldName  java bean property name
      * @param fieldVal   java bean property value
@@ -74,7 +79,12 @@ public abstract class MetaObjectHandler {
     }
 
     /**
+     * <p>
      * get value from java bean by propertyName
+     * </p>
+     * <p>
+     * 如果包含前缀 et 使用该方法,否则可以直接 metaObject.setValue(fieldName, fieldVal);
+     * </p>
      *
      * @param fieldName  java bean property name
      * @param metaObject parameter wrapper

+ 58 - 0
src/test/java/com/baomidou/mybatisplus/test/h2/H2MetaObjectHandler.java

@@ -0,0 +1,58 @@
+package com.baomidou.mybatisplus.test.h2;
+/**
+ * Copyright (c) 2011-2020, hubin (jobob@qq.com).
+ * <p>
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+import java.sql.Timestamp;
+
+import org.apache.ibatis.reflection.MetaObject;
+
+import com.baomidou.mybatisplus.mapper.MetaObjectHandler;
+
+/**
+ * <p>
+ * 测试,自定义元对象字段填充控制器,实现公共字段自动写入
+ * </p>
+ *
+ * @author hubin
+ * @Date 2017-06-25
+ */
+public class H2MetaObjectHandler extends MetaObjectHandler {
+
+    /**
+     * 测试 user 表 name 字段为空自动填充
+     */
+    public void insertFill(MetaObject metaObject) {
+        System.out.println("*************************");
+        System.out.println("insert fill");
+        System.out.println("*************************");
+
+        // 测试下划线
+        Object testType = getFieldValByName("testType", metaObject);
+        System.out.println("testType=" + testType);
+        if (testType == null) {
+            setFieldValByName("testType", 3, metaObject);
+        }
+    }
+
+    @Override
+    public void updateFill(MetaObject metaObject) {
+        System.out.println("*************************");
+        System.out.println("update fill");
+        System.out.println("*************************");
+        setFieldValByName("lastUpdatedDt", new Timestamp(System.currentTimeMillis()), metaObject);
+    }
+}
+

+ 2 - 2
src/test/java/com/baomidou/mybatisplus/test/h2/config/MybatisPlusMetaObjConfig.java

@@ -15,7 +15,7 @@ import com.baomidou.mybatisplus.MybatisXMLLanguageDriver;
 import com.baomidou.mybatisplus.entity.GlobalConfiguration;
 import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
 import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean;
-import com.baomidou.mybatisplus.test.mysql.MyMetaObjectHandler;
+import com.baomidou.mybatisplus.test.h2.H2MetaObjectHandler;
 
 /**
  * <p>
@@ -51,7 +51,7 @@ public class MybatisPlusMetaObjConfig {
     public GlobalConfiguration globalConfiguration() {
         GlobalConfiguration globalConfiguration = new GlobalConfiguration();
         globalConfiguration.setIdType(2);
-        globalConfiguration.setMetaObjectHandler(new MyMetaObjectHandler());
+        globalConfiguration.setMetaObjectHandler(new H2MetaObjectHandler());
         return globalConfiguration;
     }
 }

+ 2 - 1
src/test/java/com/baomidou/mybatisplus/test/h2/entity/persistent/H2UserMetaObj.java

@@ -23,6 +23,7 @@ import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.Version;
+import com.baomidou.mybatisplus.enums.FieldIgnore;
 import com.baomidou.mybatisplus.enums.FieldStrategy;
 import com.baomidou.mybatisplus.enums.IdType;
 
@@ -59,7 +60,7 @@ public class H2UserMetaObj implements Serializable {
     private BigDecimal price;
 
     /* 测试下划线字段命名类型, 字段填充 */
-    @TableField(value = "test_type", strategy = FieldStrategy.IGNORED)
+    @TableField(value = "test_type", ignore = FieldIgnore.INSERT)
     private Integer testType;
 
     private String desc;