diff --git a/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml b/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml
index f78b38b852..abb27c3635 100644
--- a/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml
+++ b/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml
@@ -125,7 +125,7 @@
- order by ${sort}
+ order by #{sort}
diff --git a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java
index c575345cf7..900c9ef98d 100644
--- a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java
+++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java
@@ -158,9 +158,17 @@ public class DatasourceService {
}
public List getDatasourceList(DatasourceUnionRequest request) throws Exception {
- request.setSort("type,name");
List datasourceDTOS = extDataSourceMapper.queryUnion(request);
datasourceDTOS.forEach(this::datasourceTrans);
+ if (StringUtils.isBlank(request.getSort())) {
+ datasourceDTOS.sort((o1,o2) -> {
+ int tmp = StringUtils.compareIgnoreCase(o1.getTypeDesc(), o2.getTypeDesc());
+ if (tmp == 0) {
+ tmp = StringUtils.compareIgnoreCase(o1.getName(), o2.getName());
+ }
+ return tmp;
+ });
+ }
return datasourceDTOS;
}