File tree Expand file tree Collapse file tree 6 files changed +17
-29
lines changed
src/main/java/org/mybatis/dynamic/sql Expand file tree Collapse file tree 6 files changed +17
-29
lines changed Original file line number Diff line number Diff line change @@ -57,6 +57,17 @@ public Optional<PagingModel> pagingModel() {
57
57
@ NotNull
58
58
public SelectStatementProvider render (RenderingStrategy renderingStrategy ) {
59
59
RenderingContext renderingContext = RenderingContext .withRenderingStrategy (renderingStrategy ).build ();
60
+ return render (renderingContext );
61
+ }
62
+
63
+ /**
64
+ * This version is for rendering sub-queries, union queries, etc.
65
+ *
66
+ * @param renderingContext the rendering context
67
+ * @return a rendered select statement and parameters
68
+ */
69
+ @ NotNull
70
+ public SelectStatementProvider render (RenderingContext renderingContext ) {
60
71
return SelectRenderer .withSelectModel (this )
61
72
.withRenderingContext (renderingContext )
62
73
.build ()
Original file line number Diff line number Diff line change @@ -62,10 +62,7 @@ private SelectStatementProvider toSelectStatementProvider(FragmentCollector frag
62
62
}
63
63
64
64
private FragmentAndParameters renderSelect (SelectModel selectModel ) {
65
- SelectStatementProvider selectStatement = SelectRenderer .withSelectModel (selectModel )
66
- .withRenderingContext (renderingContext )
67
- .build ()
68
- .render ();
65
+ SelectStatementProvider selectStatement = selectModel .render (renderingContext );
69
66
70
67
return FragmentAndParameters
71
68
.withFragment ("(" + selectStatement .getSelectStatement () + ")" ) //$NON-NLS-1$ //$NON-NLS-2$
@@ -74,10 +71,7 @@ private FragmentAndParameters renderSelect(SelectModel selectModel) {
74
71
}
75
72
76
73
private FragmentAndParameters renderSelect (UnionQuery unionQuery ) {
77
- SelectStatementProvider selectStatement = SelectRenderer .withSelectModel (unionQuery .selectModel ())
78
- .withRenderingContext (renderingContext )
79
- .build ()
80
- .render ();
74
+ SelectStatementProvider selectStatement = unionQuery .selectModel ().render (renderingContext );
81
75
82
76
return FragmentAndParameters .withFragment (
83
77
unionQuery .connector () + " (" + selectStatement .getSelectStatement () + ")" ) //$NON-NLS-1$ //$NON-NLS-2$
Original file line number Diff line number Diff line change @@ -39,11 +39,7 @@ public FragmentAndParameters visit(SqlTable table) {
39
39
40
40
@ Override
41
41
public FragmentAndParameters visit (SubQuery subQuery ) {
42
- SelectStatementProvider selectStatement = new SelectRenderer .Builder ()
43
- .withSelectModel (subQuery .selectModel ())
44
- .withRenderingContext (renderingContext )
45
- .build ()
46
- .render ();
42
+ SelectStatementProvider selectStatement = subQuery .selectModel ().render (renderingContext );
47
43
48
44
String fragment = "(" + selectStatement .getSelectStatement () + ")" ; //$NON-NLS-1$ //$NON-NLS-2$
49
45
Original file line number Diff line number Diff line change 20
20
21
21
import org .mybatis .dynamic .sql .render .RenderedParameterInfo ;
22
22
import org .mybatis .dynamic .sql .render .RenderingContext ;
23
- import org .mybatis .dynamic .sql .select .render .SelectRenderer ;
24
23
import org .mybatis .dynamic .sql .select .render .SelectStatementProvider ;
25
24
import org .mybatis .dynamic .sql .util .AbstractColumnMapping ;
26
25
import org .mybatis .dynamic .sql .util .ColumnToColumnMapping ;
@@ -85,11 +84,7 @@ public <T> Optional<FragmentAndParameters> visit(ValueWhenPresentMapping<T> mapp
85
84
86
85
@ Override
87
86
public Optional <FragmentAndParameters > visit (SelectMapping mapping ) {
88
- SelectStatementProvider selectStatement = SelectRenderer .withSelectModel (mapping .selectModel ())
89
- .withRenderingContext (renderingContext )
90
- .build ()
91
- .render ();
92
-
87
+ SelectStatementProvider selectStatement = mapping .selectModel ().render (renderingContext );
93
88
String fragment = mapping .mapColumn (renderingContext ::aliasedColumnName )
94
89
+ " = (" //$NON-NLS-1$
95
90
+ selectStatement .getSelectStatement ()
Original file line number Diff line number Diff line change 30
30
import org .mybatis .dynamic .sql .SqlCriterion ;
31
31
import org .mybatis .dynamic .sql .SqlCriterionVisitor ;
32
32
import org .mybatis .dynamic .sql .render .RenderingContext ;
33
- import org .mybatis .dynamic .sql .select .render .SelectRenderer ;
34
33
import org .mybatis .dynamic .sql .select .render .SelectStatementProvider ;
35
34
import org .mybatis .dynamic .sql .util .FragmentAndParameters ;
36
35
import org .mybatis .dynamic .sql .util .FragmentCollector ;
@@ -121,11 +120,7 @@ private <T> Optional<FragmentAndParameters> renderColumnAndCondition(ColumnAndCo
121
120
private FragmentAndParameters renderExists (ExistsCriterion criterion ) {
122
121
ExistsPredicate existsPredicate = criterion .existsPredicate ();
123
122
124
- SelectStatementProvider selectStatement = SelectRenderer
125
- .withSelectModel (existsPredicate .selectModelBuilder ().build ())
126
- .withRenderingContext (renderingContext )
127
- .build ()
128
- .render ();
123
+ SelectStatementProvider selectStatement = existsPredicate .selectModelBuilder ().build ().render (renderingContext );
129
124
130
125
String fragment = existsPredicate .operator ()
131
126
+ " (" //$NON-NLS-1$
Original file line number Diff line number Diff line change @@ -94,10 +94,7 @@ public FragmentAndParameters visit(AbstractTwoValueCondition<T> condition) {
94
94
95
95
@ Override
96
96
public FragmentAndParameters visit (AbstractSubselectCondition <T > condition ) {
97
- SelectStatementProvider selectStatement = SelectRenderer .withSelectModel (condition .selectModel ())
98
- .withRenderingContext (renderingContext )
99
- .build ()
100
- .render ();
97
+ SelectStatementProvider selectStatement = condition .selectModel ().render (renderingContext );
101
98
102
99
String finalFragment = condition .operator ()
103
100
+ " (" //$NON-NLS-1$
You can’t perform that action at this time.
0 commit comments