File tree Expand file tree Collapse file tree 2 files changed +22
-4
lines changed
main/java/org/mybatis/dynamic/sql/where
test/java/org/mybatis/dynamic/sql/where Expand file tree Collapse file tree 2 files changed +22
-4
lines changed Original file line number Diff line number Diff line change 23
23
import org .mybatis .dynamic .sql .util .Buildable ;
24
24
25
25
public class WhereDSL extends AbstractWhereStarter <WhereDSL .StandaloneWhereFinisher , WhereDSL > {
26
- private StandaloneWhereFinisher whereBuilder ;
27
26
private final StatementConfiguration statementConfiguration = new StatementConfiguration ();
27
+ private final StandaloneWhereFinisher whereBuilder = new StandaloneWhereFinisher ();
28
28
29
29
@ Override
30
30
public StandaloneWhereFinisher where () {
31
- if (whereBuilder == null ) {
32
- whereBuilder = new StandaloneWhereFinisher ();
33
- }
34
31
return whereBuilder ;
35
32
}
36
33
Original file line number Diff line number Diff line change 16
16
package org .mybatis .dynamic .sql .where ;
17
17
18
18
import static org .assertj .core .api .Assertions .assertThat ;
19
+ import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
19
20
import static org .mybatis .dynamic .sql .SqlBuilder .*;
20
21
21
22
import java .sql .JDBCType ;
24
25
import org .junit .jupiter .api .Test ;
25
26
import org .mybatis .dynamic .sql .SqlColumn ;
26
27
import org .mybatis .dynamic .sql .SqlTable ;
28
+ import org .mybatis .dynamic .sql .exception .NonRenderingWhereClauseException ;
27
29
import org .mybatis .dynamic .sql .render .RenderingStrategies ;
28
30
import org .mybatis .dynamic .sql .where .render .WhereClauseProvider ;
29
31
@@ -41,4 +43,23 @@ void testThatParameterNameCarriesToSubCriteria() {
41
43
assertThat (wc ).isEqualTo ("where id = #{myName.parameters.p1,jdbcType=INTEGER} or id = #{myName.parameters.p2,jdbcType=INTEGER}" )
42
44
);
43
45
}
46
+
47
+ @ Test
48
+ void testNonRenderingWhereDisallowed () {
49
+ WhereModel model = where ().build ();
50
+
51
+ assertThatExceptionOfType (NonRenderingWhereClauseException .class ).isThrownBy (() ->
52
+ model .render (RenderingStrategies .MYBATIS3 )
53
+ );
54
+ }
55
+
56
+ @ Test
57
+ void testNonRenderingWhereAllowed () {
58
+ Optional <WhereClauseProvider > whereClause = where ()
59
+ .configureStatement (c -> c .setNonRenderingWhereClauseAllowed (true ))
60
+ .build ()
61
+ .render (RenderingStrategies .MYBATIS3 );
62
+
63
+ assertThat (whereClause ).isEmpty ();
64
+ }
44
65
}
You can’t perform that action at this time.
0 commit comments