Procházet zdrojové kódy

调整 push 内容

hubin před 7 roky
rodič
revize
771e9f740e

+ 16 - 17
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/TableInfoHelper.java

@@ -23,8 +23,6 @@ import java.util.Map;
 import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 
-import com.baomidou.mybatisplus.core.toolkit.support.LambdaCache;
-import com.baomidou.mybatisplus.core.toolkit.support.Property;
 import org.apache.ibatis.builder.MapperBuilderAssistant;
 import org.apache.ibatis.executor.keygen.KeyGenerator;
 import org.apache.ibatis.executor.keygen.NoKeyGenerator;
@@ -51,6 +49,8 @@ import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
 import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
 import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import com.baomidou.mybatisplus.core.toolkit.support.LambdaCache;
+import com.baomidou.mybatisplus.core.toolkit.support.Property;
 import com.baomidou.mybatisplus.core.toolkit.support.SerializedLambda;
 
 /**
@@ -151,21 +151,20 @@ public class TableInfoHelper {
      */
     public static TableInfo getTableInfo(Class<?> clazz) {
         TableInfo tableInfo = TABLE_INFO_CACHE.get(ClassUtils.getUserClass(clazz).getName());
-        if(tableInfo!=null){
+        if (null != tableInfo) {
             return tableInfo;
-        }else{
-            //尝试获取父类缓存
-            Class c = clazz;
-            while (tableInfo==null && Object.class!=c){
-                c = c.getSuperclass();
-                tableInfo = TABLE_INFO_CACHE.get(ClassUtils.getUserClass(c).getName());
-            }
-            if(tableInfo!=null){
-                TABLE_INFO_CACHE.put(ClassUtils.getUserClass(clazz).getName(),tableInfo);
-            }else{
-                //找不到了,我也很绝望呀
-                logger.warn(ClassUtils.getUserClass(clazz).getName() + "Not Found TableInfoCache.");
-            }
+        }
+        //尝试获取父类缓存
+        Class c = clazz;
+        while (null == tableInfo && Object.class != c) {
+            c = c.getSuperclass();
+            tableInfo = TABLE_INFO_CACHE.get(ClassUtils.getUserClass(c).getName());
+        }
+        if (null == tableInfo) {
+            //找不到了,我也很绝望呀
+            logger.warn(ClassUtils.getUserClass(clazz).getName() + "Not Found TableInfoCache.");
+        } else {
+            TABLE_INFO_CACHE.put(ClassUtils.getUserClass(clazz).getName(), tableInfo);
         }
         return tableInfo;
     }
@@ -289,7 +288,7 @@ public class TableInfoHelper {
          * 注入
          */
         TABLE_INFO_CACHE.put(clazz.getName(), tableInfo);
-        LambdaCache.put(clazz,tableInfo);
+        LambdaCache.put(clazz, tableInfo);
         return tableInfo;
     }
 

+ 5 - 5
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/DataSourceConfig.java

@@ -136,21 +136,21 @@ public class DataSourceConfig {
         this.schemaname = schemaname;
     }
 
-    public ITypeConvert getTypeConvert(boolean useJava8Time) {
+    public ITypeConvert getTypeConvert() {
         if (null == typeConvert) {
             switch (getDbType()) {
                 case ORACLE:
-                    typeConvert = new OracleTypeConvert().setUseJava8Time(useJava8Time);
+                    typeConvert = new OracleTypeConvert();
                     break;
                 case SQL_SERVER:
-                    typeConvert = new SqlServerTypeConvert().setUseJava8Time(useJava8Time);
+                    typeConvert = new SqlServerTypeConvert();
                     break;
                 case POSTGRE_SQL:
-                    typeConvert = new PostgreSqlTypeConvert().setUseJava8Time(useJava8Time);
+                    typeConvert = new PostgreSqlTypeConvert();
                     break;
                 default:
                     // 默认 MYSQL
-                    typeConvert = new MySqlTypeConvert().setUseJava8Time(useJava8Time);
+                    typeConvert = new MySqlTypeConvert();
                     break;
             }
         }

+ 4 - 9
mybatis-plus-generator/src/main/java/com/baomidou/mybatisplus/generator/config/ITypeConvert.java

@@ -25,23 +25,18 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
  * @author hubin
  * @date 2017-01-20
  */
-public abstract class ITypeConvert<T extends ITypeConvert<T>> {
+public interface ITypeConvert {
 
-    protected boolean useJava8Time;
 
     /**
      * <p>
      * 执行类型转换
      * </p>
      *
-     * @param fieldType 字段类型
+     * @param globalConfig 全局配置
+     * @param fieldType    字段类型
      * @return
      */
-    public abstract DbColumnType processTypeConvert(String fieldType);
+    DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType);
 
-    @SuppressWarnings("unchecked")
-    public T setUseJava8Time(boolean useJava8Time) {
-        this.useJava8Time = useJava8Time;
-        return (T) this;
-    }
 }

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

@@ -15,6 +15,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;
 
@@ -26,10 +27,10 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
  * @author zhanyao
  * @date 2018-05-16
  */
-public class DB2TypeConvert extends ITypeConvert<DB2TypeConvert> {
+public class DB2TypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(String fieldType) {
+    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toUpperCase();
         if (t.contains("CHAR")) {
             return DbColumnType.STRING;

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

@@ -15,6 +15,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;
 
@@ -26,10 +27,10 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
  * @author hubin
  * @date 2017-01-20
  */
-public class MySqlTypeConvert extends ITypeConvert<MySqlTypeConvert> {
+public class MySqlTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(String fieldType) {
+    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char") || t.contains("text")) {
             return DbColumnType.STRING;
@@ -56,7 +57,7 @@ public class MySqlTypeConvert extends ITypeConvert<MySqlTypeConvert> {
         } else if (t.contains("json") || t.contains("enum")) {
             return DbColumnType.STRING;
         } else if (t.contains("date") || t.contains("time") || t.contains("year")) {
-            if (useJava8Time) {
+            if (globalConfig.isUseJava8Time()) {
                 switch (t) {
                     case "date":
                         return DbColumnType.LOCAL_DATE;

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

@@ -15,6 +15,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;
 
@@ -26,10 +27,10 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
  * @author hubin
  * @date 2017-01-20
  */
-public class OracleTypeConvert extends ITypeConvert<OracleTypeConvert> {
+public class OracleTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(String fieldType) {
+    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toUpperCase();
         if (t.contains("CHAR")) {
             return DbColumnType.STRING;

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

@@ -15,6 +15,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;
 
@@ -26,10 +27,10 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
  * @author hubin
  * @date 2017-01-20
  */
-public class PostgreSqlTypeConvert extends ITypeConvert<PostgreSqlTypeConvert> {
+public class PostgreSqlTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(String fieldType) {
+    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char") || t.contains("text")) {
             return DbColumnType.STRING;

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

@@ -15,6 +15,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;
 
@@ -26,10 +27,10 @@ import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
  * @author hubin
  * @date 2017-01-20
  */
-public class SqlServerTypeConvert extends ITypeConvert<SqlServerTypeConvert> {
+public class SqlServerTypeConvert implements ITypeConvert {
 
     @Override
-    public DbColumnType processTypeConvert(String fieldType) {
+    public DbColumnType processTypeConvert(GlobalConfig globalConfig, String fieldType) {
         String t = fieldType.toLowerCase();
         if (t.contains("char") || t.contains("text") || t.contains("xml")) {
             return DbColumnType.STRING;