Переглянути джерело

优化wrapper的sql生成

miemie 5 роки тому
батько
коміт
d71880b67f

+ 4 - 4
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/conditions/segments/OrderBySegmentList.java

@@ -34,9 +34,9 @@ public class OrderBySegmentList extends AbstractISegmentList {
     @Override
     @Override
     protected boolean transformList(List<ISqlSegment> list, ISqlSegment firstSegment, ISqlSegment lastSegment) {
     protected boolean transformList(List<ISqlSegment> list, ISqlSegment firstSegment, ISqlSegment lastSegment) {
         list.remove(0);
         list.remove(0);
-        if (!isEmpty()) {
-            super.add(() -> COMMA);
-        }
+        final String sql = list.stream().map(ISqlSegment::getSqlSegment).collect(joining(SPACE));
+        list.clear();
+        list.add(() -> sql);
         return true;
         return true;
     }
     }
 
 
@@ -45,6 +45,6 @@ public class OrderBySegmentList extends AbstractISegmentList {
         if (isEmpty()) {
         if (isEmpty()) {
             return EMPTY;
             return EMPTY;
         }
         }
-        return this.stream().map(ISqlSegment::getSqlSegment).collect(joining(SPACE, SPACE + ORDER_BY.getSqlSegment() + SPACE, EMPTY));
+        return this.stream().map(ISqlSegment::getSqlSegment).collect(joining(COMMA, SPACE + ORDER_BY.getSqlSegment() + SPACE, EMPTY));
     }
     }
 }
 }