diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/TypeHandlerObject.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/TypeHandlerObject.java index 40a0c782..88f6f801 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/TypeHandlerObject.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/mybatis/TypeHandlerObject.java @@ -42,4 +42,12 @@ public class TypeHandlerObject implements Serializable { return value; } + @Override + public String toString() { + return "TypeHandlerObject{" + + "value=" + value + + ", typeHandler=" + typeHandler.getClass().getSimpleName() + + '}'; + } + } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryCondition.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryCondition.java index adbb994f..0562e930 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryCondition.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/query/QueryCondition.java @@ -66,17 +66,17 @@ public class QueryCondition implements CloneSupport { public static QueryCondition create(String schema, String table, String column, String logic, Object value) { - QueryCondition condition = new QueryCondition(); - condition.setColumn(new QueryColumn(schema, table, column)); - condition.setLogic(logic); - condition.setValue(value); - return condition; + return create(new QueryColumn(schema, table, column), logic, value); } public static QueryCondition create(QueryColumn queryColumn, Object value) { return create(queryColumn, SqlConsts.EQUALS, value); } + public static QueryCondition create(QueryColumn queryColumn, SqlOperator logic, Object value) { + return create(queryColumn, logic.getValue(), value); + } + public static QueryCondition create(QueryColumn queryColumn, String logic, Object value) { QueryCondition condition = new QueryCondition(); condition.setColumn(queryColumn); @@ -85,14 +85,6 @@ public class QueryCondition implements CloneSupport { return condition; } - public static QueryCondition create(QueryColumn queryColumn, SqlOperator logic, Object value) { - QueryCondition condition = new QueryCondition(); - condition.setColumn(queryColumn); - condition.setLogic(logic.getValue()); - condition.setValue(value); - return condition; - } - public QueryColumn getColumn() { return column; } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java index a9e421d3..b47d57aa 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/table/TableInfo.java @@ -700,11 +700,7 @@ public class TableInfo { // fixed: https://gitee.com/mybatis-flex/mybatis-flex/issues/I7TFBK if (value.getClass().isEnum()) { EnumWrapper enumWrapper = EnumWrapper.of(value.getClass()); - if (enumWrapper.hasEnumValueAnnotation()) { - value = enumWrapper.getEnumValue((Enum) value); - } else { - value = ((Enum) value).name(); - } + value = enumWrapper.getEnumValue((Enum) value); } } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/EnumWrapper.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/EnumWrapper.java index 77effa1a..98d29daf 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/EnumWrapper.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/util/EnumWrapper.java @@ -88,10 +88,25 @@ public class EnumWrapper> { } } - + /** + * 获取枚举值 + * 顺序: + * 1、@EnumValue标识的get方法 + * 2、@EnumValue标识的属性 + * 3、没有使用@EnumValue,取枚举name + * + * @param object + * @return + */ public Object getEnumValue(E object) { try { - return getterMethod != null ? getterMethod.invoke(object) : property.get(object); + if (getterMethod != null) { + return getterMethod.invoke(object); + } else if(property != null){ + return property.get(object); + } else { + return object.name(); + } } catch (Exception e) { throw FlexExceptions.wrap(e); }