21
21
import java .util .Objects ;
22
22
import java .util .Optional ;
23
23
import java .util .concurrent .atomic .AtomicInteger ;
24
+ import java .util .stream .Collectors ;
24
25
25
26
import org .mybatis .dynamic .sql .SortSpecification ;
26
27
import org .mybatis .dynamic .sql .render .RenderingStrategy ;
29
30
import org .mybatis .dynamic .sql .select .SelectModel ;
30
31
import org .mybatis .dynamic .sql .util .CustomCollectors ;
31
32
import org .mybatis .dynamic .sql .util .FragmentAndParameters ;
33
+ import org .mybatis .dynamic .sql .util .FragmentCollector ;
32
34
33
35
public class SelectRenderer {
34
36
private static final String LIMIT_PARAMETER = "_limit" ; //$NON-NLS-1$
@@ -44,13 +46,13 @@ private SelectRenderer(Builder builder) {
44
46
}
45
47
46
48
public SelectStatementProvider render () {
47
- QueryExpressionCollector collector = selectModel
49
+ FragmentCollector queryExpressionCollector = selectModel
48
50
.mapQueryExpressions (this ::renderQueryExpression )
49
- .collect (QueryExpressionCollector .collect ());
51
+ .collect (FragmentCollector .collect ());
50
52
51
- Map <String , Object > parameters = collector .parameters ();
53
+ Map <String , Object > parameters = queryExpressionCollector .parameters ();
52
54
53
- String selectStatement = collector . queryExpression ()
55
+ String selectStatement = queryExpressionCollector . fragments (). collect ( Collectors . joining ( " " )) //$NON-NLS-1$
54
56
+ spaceBefore (renderOrderBy ())
55
57
+ spaceBefore (renderLimit (parameters ))
56
58
+ spaceBefore (renderOffset (parameters ));
0 commit comments