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