mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-08 01:28:24 +08:00
optimize QueryColumn.as() method
This commit is contained in:
parent
efcc9dbf1a
commit
9729772302
@ -22,7 +22,6 @@ import java.io.Serializable;
|
||||
public class FieldQuery implements Serializable {
|
||||
|
||||
private String field;
|
||||
// private Class<?> mappingType;
|
||||
private QueryWrapper queryWrapper;
|
||||
|
||||
public String getField() {
|
||||
@ -33,14 +32,6 @@ public class FieldQuery implements Serializable {
|
||||
this.field = field;
|
||||
}
|
||||
|
||||
// public Class<?> getMappingType() {
|
||||
// return mappingType;
|
||||
// }
|
||||
//
|
||||
// public void setMappingType(Class<?> mappingType) {
|
||||
// this.mappingType = mappingType;
|
||||
// }
|
||||
|
||||
public QueryWrapper getQueryWrapper() {
|
||||
return queryWrapper;
|
||||
}
|
||||
|
||||
@ -38,11 +38,6 @@ public class FieldQueryBuilder<T> implements Serializable {
|
||||
return field(LambdaUtil.getFieldName(fn));
|
||||
}
|
||||
|
||||
// public FieldQueryBuilder<T> type(Class<?> mappingType){
|
||||
// fieldQuery.setMappingType(mappingType);
|
||||
// return this;
|
||||
// }
|
||||
|
||||
public FieldQueryBuilder<T> queryWrapper(QueryBuilder<T> fun){
|
||||
fieldQuery.setQueryWrapper(fun.build(entity));
|
||||
return this;
|
||||
|
||||
@ -83,11 +83,6 @@ public class ArithmeticQueryColumn extends QueryColumn {
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryColumn as(String alias) {
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
String toSelectSql(List<QueryTable> queryTables, IDialect dialect) {
|
||||
|
||||
@ -77,12 +77,6 @@ public class CaseQueryColumn extends QueryColumn implements HasParamsColumn {
|
||||
return sql.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryColumn as(String alias) {
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getParamValues() {
|
||||
Object[] values = FlexConsts.EMPTY_ARRAY;
|
||||
|
||||
@ -79,12 +79,6 @@ public class CaseSearchQueryColumn extends QueryColumn implements HasParamsColum
|
||||
whens.add(when);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryColumn as(String alias) {
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Object[] getParamValues() {
|
||||
|
||||
@ -132,12 +132,7 @@ public class FunctionQueryColumn extends QueryColumn implements HasParamsColumn
|
||||
return sql;
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryColumn as(String alias) {
|
||||
SqlUtil.keepColumnSafely(alias);
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
@ -35,6 +35,8 @@ public class QueryColumn implements CloneSupport<QueryColumn> {
|
||||
protected String name;
|
||||
protected String alias;
|
||||
|
||||
private boolean returnCopyByAsMethod = false;
|
||||
|
||||
|
||||
public QueryColumn() {
|
||||
}
|
||||
@ -56,8 +58,15 @@ public class QueryColumn implements CloneSupport<QueryColumn> {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public QueryColumn(QueryTable queryTable, String name) {
|
||||
SqlUtil.keepColumnSafely(name);
|
||||
this.table = queryTable;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public QueryColumn(TableDef tableDef, String name) {
|
||||
SqlUtil.keepColumnSafely(name);
|
||||
this.returnCopyByAsMethod = true;
|
||||
this.table = new QueryTable(tableDef);
|
||||
this.name = name;
|
||||
}
|
||||
@ -67,12 +76,6 @@ public class QueryColumn implements CloneSupport<QueryColumn> {
|
||||
this.alias = alias;
|
||||
}
|
||||
|
||||
public QueryColumn(QueryTable queryTable, String name) {
|
||||
SqlUtil.keepColumnSafely(name);
|
||||
this.table = queryTable;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
|
||||
public QueryTable getTable() {
|
||||
return table;
|
||||
@ -99,16 +102,21 @@ public class QueryColumn implements CloneSupport<QueryColumn> {
|
||||
}
|
||||
|
||||
public <T> QueryColumn as(LambdaGetter<T> fn) {
|
||||
return as(LambdaUtil.getFieldName(fn));
|
||||
return as(LambdaUtil.getAsName(fn));
|
||||
}
|
||||
|
||||
public QueryColumn as(String alias) {
|
||||
SqlUtil.keepColumnSafely(alias);
|
||||
QueryColumn newColumn = new QueryColumn();
|
||||
newColumn.table = this.table;
|
||||
newColumn.name = this.name;
|
||||
newColumn.alias = alias;
|
||||
return newColumn;
|
||||
if (returnCopyByAsMethod) {
|
||||
QueryColumn newColumn = new QueryColumn();
|
||||
newColumn.table = this.table;
|
||||
newColumn.name = this.name;
|
||||
newColumn.alias = alias;
|
||||
return newColumn;
|
||||
} else {
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -17,7 +17,6 @@ package com.mybatisflex.core.query;
|
||||
|
||||
import com.mybatisflex.core.dialect.IDialect;
|
||||
import com.mybatisflex.core.util.ObjectUtil;
|
||||
import com.mybatisflex.core.util.SqlUtil;
|
||||
import com.mybatisflex.core.util.StringUtil;
|
||||
|
||||
import java.util.List;
|
||||
@ -30,12 +29,6 @@ public class SelectQueryColumn extends QueryColumn implements HasParamsColumn {
|
||||
this.queryWrapper = queryWrapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SelectQueryColumn as(String alias) {
|
||||
SqlUtil.keepColumnSafely(alias);
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
|
||||
QueryWrapper getQueryWrapper() {
|
||||
return queryWrapper;
|
||||
|
||||
@ -77,12 +77,6 @@ public class StringFunctionQueryColumn extends QueryColumn {
|
||||
return fnName + WrapperUtil.withBracket(sql);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryColumn as(String alias) {
|
||||
SqlUtil.keepColumnSafely(alias);
|
||||
this.alias = alias;
|
||||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
|
||||
@ -43,6 +43,13 @@ public class LambdaUtil {
|
||||
}
|
||||
|
||||
|
||||
public static <T> String getAsName(LambdaGetter<T> getter) {
|
||||
QueryColumn queryColumn = getQueryColumn(getter);
|
||||
return queryColumn.getAlias();
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static <T> QueryColumn getQueryColumn(LambdaGetter<T> getter) {
|
||||
SerializedLambda lambda = getSerializedLambda(getter);
|
||||
String methodName = lambda.getImplMethodName();
|
||||
|
||||
@ -22,6 +22,7 @@ public class Account extends BaseEntity implements Serializable, AgeAware {
|
||||
@ColumnMask(Masks.CHINESE_NAME)
|
||||
private String userName;
|
||||
|
||||
@As("my_age")
|
||||
private int age;
|
||||
|
||||
@NotBlank
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user