Parcourir la source

去除无用代码

zhouhao il y a 6 ans
Parent
commit
171403c28c

+ 2 - 1
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/MybatisDaoAutoConfiguration.java

@@ -40,7 +40,7 @@ import java.util.Set;
 @ComponentScan("org.hswebframework.web.dao.mybatis")
 @MapperScan(value = "org.hswebframework.web.dao"
         , markerInterface = Dao.class
-        ,sqlSessionFactoryRef = "sqlSessionFactory")
+        , sqlSessionFactoryRef = "sqlSessionFactory")
 @AutoConfigureAfter(MyBatisAutoConfiguration.class)
 @EnableConfigurationProperties(MybatisProperties.class)
 public class MybatisDaoAutoConfiguration {
@@ -71,6 +71,7 @@ public class MybatisDaoAutoConfiguration {
                 Dialect.H2
                 , Dialect.MYSQL
                 , Dialect.ORACLE
+                , Dialect.POSTGRES
                 , Dialect.MSSQL);
 
         return new BeanPostProcessor() {

+ 0 - 102
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/EnumDicInTermTypeMapper.java

@@ -1,102 +0,0 @@
-package org.hswebframework.web.dao.mybatis.mapper;
-
-import lombok.AllArgsConstructor;
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect.TermTypeMapper;
-import org.hswebframework.web.dict.EnumDict;
-
-import java.util.*;
-
-@AllArgsConstructor
-@SuppressWarnings("all")
-public abstract class EnumDicInTermTypeMapper implements TermTypeMapper {
-
-    protected Dialect dialect;
-
-    protected boolean not;
-
-    protected boolean anyIn = false;
-
-    protected boolean support(RDBColumnMetaData column) {
-        Class type = column.getJavaType();
-        if (type.isArray()) {
-            type = type.getComponentType();
-        }
-        return type.isEnum() && EnumDict.class.isAssignableFrom(type);
-    }
-
-    @Override
-    public SqlAppender accept(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        Class type = column.getJavaType();
-        if(type==null){
-            return buildNotSupport(wherePrefix,term,column,tableAlias);
-        }
-        Object value = term.getValue();
-        if (type.isArray()) {
-            Class componentType = type.getComponentType();
-            if (support(column)) {
-                if(componentType.getEnumConstants().length<64){
-                    EnumDict[] newValue = param2list(value)
-                            .stream().map(v -> EnumDict.find(componentType, v).orElse(null))
-                            .filter(Objects::nonNull)
-                            .toArray(EnumDict[]::new);
-                    long bit = EnumDict.toMask(newValue);
-                    term.setValue(bit);
-                }else{
-                    //枚举数量大于等于64,无法使用位运算
-                    // TODO: 2018/4/25 尝试查询字典中间表
-                    buildNotSupport(wherePrefix,term,column,tableAlias);
-                }
-
-            } else {
-                return buildNotSupport(wherePrefix, term, column, tableAlias);
-            }
-        } else {
-            //类型不是数组
-//            if (support(column)) {
-//                if (value instanceof Collection) {
-//                    value = ((Collection) value).iterator().next();
-//                }
-//                EnumDict dict = value instanceof EnumDict ? (EnumDict) value : (EnumDict) EnumDict.find(type, value).orElse(null);
-//                if (null != dict) {
-//                    term.setValue(dict.getValue());
-//                }
-//            } else {
-            return buildNotSupport(wherePrefix, term, column, tableAlias);
-//            }
-        }
-        return build(wherePrefix, term, column, tableAlias);
-    }
-
-    protected SqlAppender buildNotSupport(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        List<Object> values = param2list(term.getValue());
-        term.setValue(values);
-        String columnName = dialect.buildColumnName(tableAlias, column.getName());
-        SqlAppender appender = new SqlAppender();
-        appender.add(columnName, not ? " NOT" : " ").add("IN(");
-        for (int i = 0; i < values.size(); i++) {
-            appender.add("#{", wherePrefix, ".value[", i, "]}", ",");
-        }
-        appender.removeLast();
-        appender.add(")");
-        return appender;
-    }
-
-    protected abstract SqlAppender build(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias);
-
-
-    protected List<Object> param2list(Object value) {
-        if (value == null) return new ArrayList<>();
-        if (value instanceof List) return (List) value;
-        if (value instanceof Collection) return new ArrayList<>(((Collection) value));
-        if (value.getClass().isArray()) {
-            return new ArrayList<>(Arrays.asList(((Object[]) value)));
-        } else {
-            return new ArrayList<>(Collections.singletonList(value));
-        }
-    }
-
-}

+ 0 - 84
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/EnumDicTermTypeMapper.java

@@ -1,84 +0,0 @@
-package org.hswebframework.web.dao.mybatis.mapper;
-
-import lombok.AllArgsConstructor;
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect.TermTypeMapper;
-import org.hswebframework.web.dict.EnumDict;
-
-import java.util.*;
-
-@AllArgsConstructor
-@SuppressWarnings("all")
-public class EnumDicTermTypeMapper implements TermTypeMapper {
-
-    protected Dialect dialect;
-
-    protected boolean not;
-
-
-    protected boolean support(RDBColumnMetaData column) {
-        Class type = column.getJavaType();
-        if (type.isArray()) {
-            type = type.getComponentType();
-        }
-        return type.isEnum() && EnumDict.class.isAssignableFrom(type);
-    }
-
-    @Override
-    public SqlAppender accept(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        Class type = column.getJavaType();
-        if(type==null){
-            return build(wherePrefix,term,column,tableAlias);
-        }
-        Object value = term.getValue();
-        if (type.isArray()) {
-            Class componentType = type.getComponentType();
-            if (support(column)) {
-                EnumDict[] newValue = param2list(value)
-                        .stream().map(v -> EnumDict.find(componentType, v).orElse(null))
-                        .filter(Objects::nonNull)
-                        .toArray(EnumDict[]::new);
-                long bit = EnumDict.toMask(newValue);
-                term.setValue(bit);
-            }
-        } else {
-            if (support(column)) {
-                if (value instanceof Collection) {
-                    value = ((Collection) value).iterator().next();
-                }
-                EnumDict dict = (EnumDict) EnumDict.find(type, value).orElse(null);
-                if (null != dict) {
-                    term.setValue(dict.getValue());
-                }
-            }
-        }
-        return build(wherePrefix, term, column, tableAlias);
-    }
-
-
-    protected SqlAppender build(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        Object value = term.getValue();
-        if (value instanceof Collection) {
-            value = ((Collection) value).iterator().next();
-            term.setValue(value);
-        }
-        return new SqlAppender()
-                .add(dialect.buildColumnName(tableAlias, column.getName()), not ? "!=" : "=", "#{", wherePrefix, ".value}");
-    }
-
-
-    protected List<Object> param2list(Object value) {
-        if (value == null) return new ArrayList<>();
-        if (value instanceof List) return (List) value;
-        if (value instanceof Collection) return new ArrayList<>(((Collection) value));
-        if (value.getClass().isArray()) {
-            return new ArrayList<>(Arrays.asList(((Object[]) value)));
-        } else {
-            return new ArrayList<>(Collections.singletonList(value));
-        }
-    }
-
-}

+ 0 - 26
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/h2/H2EnumDicInTermTypeMapper.java

@@ -1,26 +0,0 @@
-package org.hswebframework.web.dao.mybatis.mapper.h2;
-
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect;
-import org.hswebframework.web.dao.mybatis.mapper.EnumDicInTermTypeMapper;
-
-public class H2EnumDicInTermTypeMapper extends EnumDicInTermTypeMapper {
-
-    public H2EnumDicInTermTypeMapper(boolean not) {
-        this(not, false);
-    }
-
-    public H2EnumDicInTermTypeMapper(boolean not, boolean anyIn) {
-        super(Dialect.H2, not,anyIn);
-    }
-
-    @Override
-    protected SqlAppender build(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        String columnName = dialect.buildColumnName(tableAlias, column.getName());
-        String where = "#{" + wherePrefix + ".value}";
-        return new SqlAppender()
-                .add("BITAND(", columnName, ",", where, ")", not ? "!=" : "=", anyIn ? "0" : where);
-    }
-}

+ 0 - 30
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/mysql/MysqlEnumDicInTermTypeMapper.java

@@ -1,30 +0,0 @@
-package org.hswebframework.web.dao.mybatis.mapper.mysql;
-
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect;
-import org.hswebframework.web.dao.mybatis.mapper.EnumDicInTermTypeMapper;
-
-public class MysqlEnumDicInTermTypeMapper extends EnumDicInTermTypeMapper {
-
-
-    public MysqlEnumDicInTermTypeMapper(boolean not) {
-        this(not, false);
-    }
-
-    public MysqlEnumDicInTermTypeMapper(boolean not, boolean anyIn) {
-        super(Dialect.MYSQL, not, anyIn);
-    }
-
-
-    @Override
-    protected SqlAppender build(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        String columnName = dialect.buildColumnName(tableAlias, column.getName());
-        String where = "#{" + wherePrefix + ".value}";
-        return new SqlAppender()
-                .add(columnName, " & ", where, not ? " != " : " = ", anyIn ? "0" : where);
-    }
-
-
-}

+ 0 - 28
hsweb-commons/hsweb-commons-dao/hsweb-commons-dao-mybatis/src/main/java/org/hswebframework/web/dao/mybatis/mapper/oracle/OracleEnumDicInTermTypeMapper.java

@@ -1,28 +0,0 @@
-package org.hswebframework.web.dao.mybatis.mapper.oracle;
-
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect;
-import org.hswebframework.web.dao.mybatis.mapper.EnumDicInTermTypeMapper;
-import org.hswebframework.web.dao.mybatis.mapper.EnumDicTermTypeMapper;
-
-public class OracleEnumDicInTermTypeMapper extends EnumDicInTermTypeMapper {
-
-    public OracleEnumDicInTermTypeMapper(boolean not) {
-        this(not, false);
-    }
-
-    public OracleEnumDicInTermTypeMapper(boolean not, boolean anyIn) {
-        super(Dialect.ORACLE, not, anyIn);
-    }
-
-
-    @Override
-    protected SqlAppender build(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        String columnName = dialect.buildColumnName(tableAlias, column.getName());
-        String where = "#{" + wherePrefix + ".value}";
-        return new SqlAppender()
-                .add("BITAND(", columnName, ",", where, ")", not ? "!=" : "=", anyIn ? "0" : where);
-    }
-}