mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 09:08:24 +08:00
fixed: sql "select * ,(select ...) as ..." 第二个 select 有参数时出错的问题
This commit is contained in:
parent
105d2fcf56
commit
0c0d1e2648
@ -376,6 +376,23 @@ public class QueryWrapper extends BaseQueryWrapper<QueryWrapper> {
|
|||||||
*/
|
*/
|
||||||
Object[] getValueArray() {
|
Object[] getValueArray() {
|
||||||
|
|
||||||
|
List<Object> columnValues = null;
|
||||||
|
List<QueryColumn> selectColumns = getSelectColumns();
|
||||||
|
if (CollectionUtil.isNotEmpty(selectColumns)){
|
||||||
|
for (QueryColumn selectColumn : selectColumns) {
|
||||||
|
if (selectColumn instanceof SelectQueryColumn){
|
||||||
|
QueryWrapper queryWrapper = ((SelectQueryColumn) selectColumn).getQueryWrapper();
|
||||||
|
Object[] valueArray = queryWrapper.getValueArray();
|
||||||
|
if (ArrayUtil.isNotEmpty(valueArray)){
|
||||||
|
if (columnValues == null){
|
||||||
|
columnValues = new ArrayList<>();
|
||||||
|
}
|
||||||
|
columnValues.addAll(Arrays.asList(valueArray));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//select 子查询的参数:select * from (select ....)
|
//select 子查询的参数:select * from (select ....)
|
||||||
List<Object> tableValues = null;
|
List<Object> tableValues = null;
|
||||||
List<QueryTable> queryTables = getQueryTables();
|
List<QueryTable> queryTables = getQueryTables();
|
||||||
@ -431,7 +448,8 @@ public class QueryWrapper extends BaseQueryWrapper<QueryWrapper> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Object[] returnValues = tableValues == null ? WrapperUtil.NULL_PARA_ARRAY : tableValues.toArray();
|
Object[] returnValues = columnValues == null ? WrapperUtil.NULL_PARA_ARRAY : columnValues.toArray();
|
||||||
|
returnValues = tableValues != null ? ArrayUtil.concat(returnValues,tableValues.toArray()) : returnValues;
|
||||||
returnValues = joinValues != null ? ArrayUtil.concat(returnValues, joinValues.toArray()) : returnValues;
|
returnValues = joinValues != null ? ArrayUtil.concat(returnValues, joinValues.toArray()) : returnValues;
|
||||||
returnValues = ArrayUtil.concat(returnValues, paramValues);
|
returnValues = ArrayUtil.concat(returnValues, paramValues);
|
||||||
|
|
||||||
|
|||||||
@ -37,6 +37,10 @@ public class SelectQueryColumn extends QueryColumn {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryWrapper getQueryWrapper() {
|
||||||
|
return queryWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
String toSelectSql(List<QueryTable> queryTables, IDialect dialect) {
|
String toSelectSql(List<QueryTable> queryTables, IDialect dialect) {
|
||||||
String selectSql = dialect.forSelectByQuery(queryWrapper);
|
String selectSql = dialect.forSelectByQuery(queryWrapper);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user