Skip to content

Commit 6e95be6

Browse files
committed
SELECT column 内原始 SQL 片段支持 AS 别名 @raw:"@column", "@column":"(CASE WHEN length(group) > 0 THEN group ELSE '_' END):name"
1 parent d3db569 commit 6e95be6

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
157157
// TODO 改成更好的正则,校验前面为单词,中间为操作符,后面为值
158158
PATTERN_FUNCTION = Pattern.compile("^[A-Za-z0-9%,:_@&~`!=\\<\\>\\|\\[\\]\\{\\} /\\.\\+\\-\\*\\^\\?\\(\\)\\$]+$");
159159

160-
TABLE_KEY_MAP = new HashMap<String, String>();
160+
TABLE_KEY_MAP = new HashMap<>();
161161
TABLE_KEY_MAP.put(Table.class.getSimpleName(), Table.TABLE_NAME);
162162
TABLE_KEY_MAP.put(Column.class.getSimpleName(), Column.TABLE_NAME);
163163
TABLE_KEY_MAP.put(PgClass.class.getSimpleName(), PgClass.TABLE_NAME);
@@ -1984,14 +1984,14 @@ public String getColumnString(boolean inSQLJoin) throws Exception {
19841984
}
19851985

19861986
// 简单点, 后台配置就带上 AS
1987-
// int index = expression.lastIndexOf(":");
1988-
// String alias = expression.substring(index+1);
1989-
// boolean hasAlias = StringUtil.isName(alias);
1990-
// String pre = index > 0 && hasAlias ? expression.substring(0, index) : expression;
1991-
// if (RAW_MAP.containsValue(pre) || "".equals(RAW_MAP.get(pre))) { // newSQLConfig 提前处理好的
1992-
// expression = pre + (hasAlias ? " AS " + alias : "");
1993-
// continue;
1994-
// }
1987+
int index = expression.lastIndexOf(":");
1988+
String alias = expression.substring(index+1);
1989+
boolean hasAlias = StringUtil.isName(alias);
1990+
String pre = index > 0 && hasAlias ? expression.substring(0, index) : expression;
1991+
if (RAW_MAP.containsValue(pre) || "".equals(RAW_MAP.get(pre))) { // newSQLConfig 提前处理好的
1992+
keys[i] = pre + (hasAlias ? " AS " + alias : "");
1993+
continue;
1994+
}
19951995
}
19961996

19971997
if (expression.length() > 100) {

0 commit comments

Comments
 (0)