miemie 7 年之前
父節點
當前提交
2bb1ced13e

+ 2 - 3
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/ITypeConvert.java

@@ -15,7 +15,7 @@
  */
 package com.baomidou.mybatisplus.generator.config;
 
-import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 
 /**
  * <p>
@@ -37,6 +37,5 @@ public interface ITypeConvert {
      * @param fieldType    字段类型
      * @return
      */
-    DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType);
-
+    PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType);
 }

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

@@ -18,6 +18,7 @@ package com.baomidou.mybatisplus.generator.config.converts;
 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 import com.baomidou.mybatisplus.generator.config.ITypeConvert;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 
 /**
  * <p>
@@ -30,7 +31,7 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 public class DB2TypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+    public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char") || t.contains("text")) {
             return DbColumnType.STRING;

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

@@ -18,6 +18,7 @@ package com.baomidou.mybatisplus.generator.config.converts;
 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 import com.baomidou.mybatisplus.generator.config.ITypeConvert;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 
 /**
  * <p>
@@ -30,7 +31,7 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 public class MySqlTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+    public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char") || t.contains("text")) {
             return DbColumnType.STRING;

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

@@ -18,6 +18,7 @@ package com.baomidou.mybatisplus.generator.config.converts;
 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 import com.baomidou.mybatisplus.generator.config.ITypeConvert;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 
 /**
  * <p>
@@ -30,7 +31,7 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 public class OracleTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+    public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char")) {
             return DbColumnType.STRING;

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

@@ -18,6 +18,7 @@ package com.baomidou.mybatisplus.generator.config.converts;
 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 import com.baomidou.mybatisplus.generator.config.ITypeConvert;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 
 /**
  * <p>
@@ -30,7 +31,7 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 public class PostgreSqlTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+    public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char") || t.contains("text")) {
             return DbColumnType.STRING;

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

@@ -18,6 +18,7 @@ package com.baomidou.mybatisplus.generator.config.converts;
 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 import com.baomidou.mybatisplus.generator.config.ITypeConvert;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 
 /**
  * <p>
@@ -30,7 +31,7 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 public class SqlServerTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+    public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char") || t.contains("text") || t.contains("xml")) {
             return DbColumnType.STRING;

+ 10 - 9
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/po/TableField.java

@@ -15,11 +15,12 @@
  */
 package com.baomidou.mybatisplus.generator.config.po;
 
-import java.util.Map;
-
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.generator.config.StrategyConfig;
 import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
+
+import java.util.Map;
 
 /**
  * <p>
@@ -40,7 +41,7 @@ public class TableField {
     private String name;
     private String type;
     private String propertyName;
-    private DbColumnType columnType;
+    private PropertyInfo columnType;
     private String comment;
     private String fill;
     /**
@@ -52,6 +53,10 @@ public class TableField {
         return convert;
     }
 
+    public void setConvert(boolean convert) {
+        this.convert = convert;
+    }
+
     protected void setConvert(StrategyConfig strategyConfig) {
         if (strategyConfig.isCapitalModeNaming(name)) {
             this.convert = false;
@@ -68,10 +73,6 @@ public class TableField {
         }
     }
 
-    public void setConvert(boolean convert) {
-        this.convert = convert;
-    }
-
     public boolean isKeyFlag() {
         return keyFlag;
     }
@@ -113,11 +114,11 @@ public class TableField {
         this.setConvert(strategyConfig);
     }
 
-    public DbColumnType getColumnType() {
+    public PropertyInfo getColumnType() {
         return columnType;
     }
 
-    public void setColumnType(DbColumnType columnType) {
+    public void setColumnType(PropertyInfo columnType) {
         this.columnType = columnType;
     }
 

+ 11 - 4
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/rules/DbColumnType.java

@@ -15,8 +15,6 @@
  */
 package com.baomidou.mybatisplus.generator.config.rules;
 
-import lombok.Getter;
-
 /**
  * <p>
  * 表字段类型
@@ -25,8 +23,7 @@ import lombok.Getter;
  * @author hubin
  * @since 2017-01-11
  */
-@Getter
-public enum DbColumnType {
+public enum DbColumnType implements PropertyInfo {
     // 基本类型
     BASE_BYTE("byte", null),
     BASE_SHORT("short", null),
@@ -83,4 +80,14 @@ public enum DbColumnType {
         this.type = type;
         this.pkg = pkg;
     }
+
+    @Override
+    public String getType() {
+        return type;
+    }
+
+    @Override
+    public String getPkg() {
+        return pkg;
+    }
 }

+ 26 - 0
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/rules/PropertyInfo.java

@@ -0,0 +1,26 @@
+package com.baomidou.mybatisplus.generator.config.rules;
+
+/**
+ * <p>
+ * 获取实体类字段 属性信息
+ * </p>
+ *
+ * @author miemie
+ * @since 2018-08-22
+ */
+public interface PropertyInfo {
+
+    /**
+     * 获取字段类型
+     *
+     * @return 字段类型
+     */
+    String getType();
+
+    /**
+     * 获取字段类型完整名
+     *
+     * @return 字段类型完整名
+     */
+    String getPkg();
+}

+ 5 - 14
mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/test/generator/MysqlGenerator.java

@@ -15,29 +15,20 @@
  */
 package com.baomidou.mybatisplus.test.generator;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.annotation.FieldFill;
 import com.baomidou.mybatisplus.generator.AutoGenerator;
 import com.baomidou.mybatisplus.generator.InjectionConfig;
-import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
-import com.baomidou.mybatisplus.generator.config.FileOutConfig;
-import com.baomidou.mybatisplus.generator.config.GlobalConfig;
-import com.baomidou.mybatisplus.generator.config.PackageConfig;
-import com.baomidou.mybatisplus.generator.config.StrategyConfig;
-import com.baomidou.mybatisplus.generator.config.TemplateConfig;
+import com.baomidou.mybatisplus.generator.config.*;
 import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
 import com.baomidou.mybatisplus.generator.config.po.TableFill;
 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
-import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
 
+import java.util.*;
+
 /**
  * <p>
  * 代码生成器演示
@@ -85,7 +76,7 @@ public class MysqlGenerator extends GeneratorTest {
                 .setTypeConvert(new MySqlTypeConvert() {
                     // 自定义数据库表字段类型转换【可选】
                     @Override
-                    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+                    public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) {
                         System.out.println("转换类型:" + fieldType);
                         // if ( fieldType.toLowerCase().contains( "tinyint" ) ) {
                         //    return DbColumnType.BOOLEAN;

+ 8 - 12
mybatis-plus-generator/src/test/java/com/baomidou/mybatisplus/test/generator/SQLServerGenerator.java

@@ -1,25 +1,21 @@
 package com.baomidou.mybatisplus.test.generator;
 
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
 import com.baomidou.mybatisplus.generator.AutoGenerator;
 import com.baomidou.mybatisplus.generator.InjectionConfig;
-import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
-import com.baomidou.mybatisplus.generator.config.FileOutConfig;
-import com.baomidou.mybatisplus.generator.config.GlobalConfig;
-import com.baomidou.mybatisplus.generator.config.PackageConfig;
-import com.baomidou.mybatisplus.generator.config.StrategyConfig;
+import com.baomidou.mybatisplus.generator.config.*;
 import com.baomidou.mybatisplus.generator.config.converts.SqlServerTypeConvert;
 import com.baomidou.mybatisplus.generator.config.po.TableInfo;
-import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.baomidou.mybatisplus.generator.config.rules.PropertyInfo;
 import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * <p>
  * SQLServerGenerator
@@ -60,7 +56,7 @@ public class SQLServerGenerator extends GeneratorTest {
         dsc.setTypeConvert(new SqlServerTypeConvert() {
             // 自定义数据库表字段类型转换【可选】
             @Override
-            public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
+            public PropertyInfo processTypeConvert(GlobalConfig globalConfig, String fieldType) {
                 System.out.println("转换类型:" + fieldType);
                 return super.processTypeConvert(globalConfig, fieldType);
             }

+ 1 - 1
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/MysqlTestDataMapperTest.java

@@ -124,7 +124,7 @@ public class MysqlTestDataMapperTest {
     @Test
     public void c3_update() {
         Assert.assertEquals(1, commonMapper.update(
-            new CommonData().setTestInt(666),
+            new CommonData().setTestInt(666).setVersion(0),
             new UpdateWrapper<CommonData>().lambda().eq(CommonData::getId, 6L)
                 .eq(CommonData::getTestInt, 6)));
         Assert.assertEquals(1, commonLogicMapper.update(