mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
!384 fix: 解决case when then别名丢失的问题
Merge pull request !384 from 丿风轻灬云淡/main
This commit is contained in:
commit
168ef02b27
@ -68,10 +68,10 @@ public class CaseQueryColumn extends QueryColumn implements HasParamsColumn {
|
|||||||
StringBuilder sql = new StringBuilder(SqlConsts.CASE);
|
StringBuilder sql = new StringBuilder(SqlConsts.CASE);
|
||||||
for (When when : whens) {
|
for (When when : whens) {
|
||||||
sql.append(SqlConsts.WHEN).append(when.whenCondition.toSql(queryTables, dialect));
|
sql.append(SqlConsts.WHEN).append(when.whenCondition.toSql(queryTables, dialect));
|
||||||
sql.append(SqlConsts.THEN).append(WrapperUtil.buildValue(when.thenValue));
|
sql.append(SqlConsts.THEN).append(WrapperUtil.buildValue(queryTables, when.thenValue));
|
||||||
}
|
}
|
||||||
if (elseValue != null) {
|
if (elseValue != null) {
|
||||||
sql.append(SqlConsts.ELSE).append(WrapperUtil.buildValue(elseValue));
|
sql.append(SqlConsts.ELSE).append(WrapperUtil.buildValue(queryTables, elseValue));
|
||||||
}
|
}
|
||||||
sql.append(SqlConsts.END);
|
sql.append(SqlConsts.END);
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
|
|||||||
@ -46,11 +46,11 @@ public class CaseSearchQueryColumn extends QueryColumn implements HasParamsColum
|
|||||||
StringBuilder sql = new StringBuilder(SqlConsts.CASE);
|
StringBuilder sql = new StringBuilder(SqlConsts.CASE);
|
||||||
sql.append(SqlConsts.BLANK).append(queryColumn.toSelectSql(queryTables, dialect));
|
sql.append(SqlConsts.BLANK).append(queryColumn.toSelectSql(queryTables, dialect));
|
||||||
for (When when : whens) {
|
for (When when : whens) {
|
||||||
sql.append(SqlConsts.WHEN).append(WrapperUtil.buildValue(when.searchValue));
|
sql.append(SqlConsts.WHEN).append(WrapperUtil.buildValue(queryTables, when.searchValue));
|
||||||
sql.append(SqlConsts.THEN).append(WrapperUtil.buildValue(when.thenValue));
|
sql.append(SqlConsts.THEN).append(WrapperUtil.buildValue(queryTables, when.thenValue));
|
||||||
}
|
}
|
||||||
if (elseValue != null) {
|
if (elseValue != null) {
|
||||||
sql.append(SqlConsts.ELSE).append(WrapperUtil.buildValue(elseValue));
|
sql.append(SqlConsts.ELSE).append(WrapperUtil.buildValue(queryTables, elseValue));
|
||||||
}
|
}
|
||||||
sql.append(SqlConsts.END);
|
sql.append(SqlConsts.END);
|
||||||
return sql.toString();
|
return sql.toString();
|
||||||
|
|||||||
@ -130,13 +130,13 @@ class WrapperUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static String buildValue(Object value) {
|
static String buildValue(List<QueryTable> queryTables, Object value) {
|
||||||
if (value instanceof Number || value instanceof Boolean) {
|
if (value instanceof Number || value instanceof Boolean) {
|
||||||
return String.valueOf(value);
|
return String.valueOf(value);
|
||||||
} else if (value instanceof RawQueryCondition) {
|
} else if (value instanceof RawQueryCondition) {
|
||||||
return ((RawQueryCondition) value).getContent();
|
return ((RawQueryCondition) value).getContent();
|
||||||
} else if (value instanceof QueryColumn) {
|
} else if (value instanceof QueryColumn) {
|
||||||
return ((QueryColumn) value).toConditionSql(null, DialectFactory.getDialect());
|
return ((QueryColumn) value).toConditionSql(queryTables, DialectFactory.getDialect());
|
||||||
} else {
|
} else {
|
||||||
return SqlConsts.SINGLE_QUOTE + value + SqlConsts.SINGLE_QUOTE;
|
return SqlConsts.SINGLE_QUOTE + value + SqlConsts.SINGLE_QUOTE;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user