File tree Expand file tree Collapse file tree 5 files changed +17
-35
lines changed
src/main/java/org/mybatis/dynamic/sql Expand file tree Collapse file tree 5 files changed +17
-35
lines changed Original file line number Diff line number Diff line change 26
26
import org .mybatis .dynamic .sql .insert .InsertSelectModel ;
27
27
import org .mybatis .dynamic .sql .render .RenderingStrategy ;
28
28
import org .mybatis .dynamic .sql .select .render .SelectStatementProvider ;
29
+ import org .mybatis .dynamic .sql .util .StringUtilities ;
29
30
30
31
public class InsertSelectRenderer {
31
32
@@ -42,9 +43,11 @@ public InsertSelectStatementProvider render() {
42
43
43
44
String statementStart = InsertRenderingUtilities .calculateInsertStatementStart (model .table ());
44
45
Optional <String > columnsPhrase = calculateColumnsPhrase ();
45
- String selectStatementS = selectStatement .getSelectStatement ();
46
+ String renderedSelectStatement = selectStatement .getSelectStatement ();
46
47
47
- String insertStatement = statementStart + spaceBefore (columnsPhrase ) + spaceBefore (selectStatementS );
48
+ String insertStatement = statementStart
49
+ + columnsPhrase .map (StringUtilities ::spaceBefore ).orElse ("" ) //$NON-NLS-1$
50
+ + spaceBefore (renderedSelectStatement );
48
51
49
52
return DefaultGeneralInsertStatementProvider .withInsertStatement (insertStatement )
50
53
.withParameters (selectStatement .getParameters ())
Original file line number Diff line number Diff line change 15
15
*/
16
16
package org .mybatis .dynamic .sql .select .join ;
17
17
18
- import java .util .Optional ;
19
-
20
18
public enum JoinType {
21
- INNER (),
22
- LEFT ("left" ), //$NON-NLS-1$
23
- RIGHT ("right" ), //$NON-NLS-1$
24
- FULL ("full" ); //$NON-NLS-1$
25
-
26
- private final String shortType ;
19
+ INNER ("join" ), //$NON-NLS-1$
20
+ LEFT ("left join" ), //$NON-NLS-1$
21
+ RIGHT ("right join" ), //$NON-NLS-1$
22
+ FULL ("full join" ); //$NON-NLS-1$
27
23
28
- JoinType () {
29
- shortType = null ;
30
- }
24
+ private final String type ;
31
25
32
- JoinType (String shortType ) {
33
- this .shortType = shortType ;
26
+ JoinType (String type ) {
27
+ this .type = type ;
34
28
}
35
29
36
- public Optional < String > shortType () {
37
- return Optional . ofNullable ( shortType ) ;
30
+ public String type () {
31
+ return type ;
38
32
}
39
33
}
Original file line number Diff line number Diff line change 15
15
*/
16
16
package org .mybatis .dynamic .sql .select .render ;
17
17
18
- import static org .mybatis .dynamic .sql .util .StringUtilities .spaceAfter ;
19
18
import static org .mybatis .dynamic .sql .util .StringUtilities .spaceBefore ;
20
19
21
20
import java .util .Objects ;
@@ -52,8 +51,7 @@ public FragmentAndParameters render() {
52
51
private FragmentAndParameters renderJoinSpecification (JoinSpecification joinSpecification ) {
53
52
FragmentAndParameters renderedTable = joinSpecification .table ().accept (tableExpressionRenderer );
54
53
55
- String fragment = spaceAfter (joinSpecification .joinType ().shortType ())
56
- + "join" //$NON-NLS-1$
54
+ String fragment = joinSpecification .joinType ().type ()
57
55
+ spaceBefore (renderedTable .fragment ())
58
56
+ spaceBefore (renderConditions (joinSpecification ));
59
57
Original file line number Diff line number Diff line change 15
15
*/
16
16
package org .mybatis .dynamic .sql .select .render ;
17
17
18
- import static org .mybatis .dynamic .sql .util .StringUtilities .spaceAfter ;
19
-
20
18
import java .util .Objects ;
21
19
import java .util .Optional ;
22
20
import java .util .concurrent .atomic .AtomicInteger ;
34
32
import org .mybatis .dynamic .sql .select .join .JoinModel ;
35
33
import org .mybatis .dynamic .sql .util .FragmentAndParameters ;
36
34
import org .mybatis .dynamic .sql .util .FragmentCollector ;
35
+ import org .mybatis .dynamic .sql .util .StringUtilities ;
37
36
import org .mybatis .dynamic .sql .where .WhereModel ;
38
37
import org .mybatis .dynamic .sql .where .render .WhereRenderer ;
39
38
@@ -135,7 +134,7 @@ private FragmentAndParameters toFragmentAndParameters(FragmentCollector fragment
135
134
}
136
135
137
136
private FragmentAndParameters calculateQueryExpressionStart () {
138
- String start = spaceAfter ( queryExpression .connector ())
137
+ String start = queryExpression .connector (). map ( StringUtilities :: spaceAfter ). orElse ( "" ) //$NON-NLS-1$
139
138
+ "select " //$NON-NLS-1$
140
139
+ (queryExpression .isDistinct () ? "distinct " : "" ) //$NON-NLS-1$ //$NON-NLS-2$
141
140
+ calculateColumnList ()
Original file line number Diff line number Diff line change 15
15
*/
16
16
package org .mybatis .dynamic .sql .util ;
17
17
18
- import java .util .Optional ;
19
-
20
18
public interface StringUtilities {
21
19
22
- static String spaceAfter (Optional <String > in ) {
23
- return in .map (StringUtilities ::spaceAfter )
24
- .orElse ("" ); //$NON-NLS-1$
25
- }
26
-
27
20
static String spaceAfter (String in ) {
28
21
return in + " " ; //$NON-NLS-1$
29
22
}
30
23
31
- static String spaceBefore (Optional <String > in ) {
32
- return in .map (StringUtilities ::spaceBefore )
33
- .orElse ("" ); //$NON-NLS-1$
34
- }
35
-
36
24
static String spaceBefore (String in ) {
37
25
return " " + in ; //$NON-NLS-1$
38
26
}
You can’t perform that action at this time.
0 commit comments