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 2323import org .mybatis .dynamic .sql .util .Buildable ;
2424
2525public class WhereDSL extends AbstractWhereStarter <WhereDSL .StandaloneWhereFinisher , WhereDSL > {
26- private StandaloneWhereFinisher whereBuilder ;
2726 private final StatementConfiguration statementConfiguration = new StatementConfiguration ();
27+ private final StandaloneWhereFinisher whereBuilder = new StandaloneWhereFinisher ();
2828
2929 @ Override
3030 public StandaloneWhereFinisher where () {
31- if (whereBuilder == null ) {
32- whereBuilder = new StandaloneWhereFinisher ();
33- }
3431 return whereBuilder ;
3532 }
3633
Original file line number Diff line number Diff line change 1616package org .mybatis .dynamic .sql .where ;
1717
1818import static org .assertj .core .api .Assertions .assertThat ;
19+ import static org .assertj .core .api .Assertions .assertThatExceptionOfType ;
1920import static org .mybatis .dynamic .sql .SqlBuilder .*;
2021
2122import java .sql .JDBCType ;
2425import org .junit .jupiter .api .Test ;
2526import org .mybatis .dynamic .sql .SqlColumn ;
2627import org .mybatis .dynamic .sql .SqlTable ;
28+ import org .mybatis .dynamic .sql .exception .NonRenderingWhereClauseException ;
2729import org .mybatis .dynamic .sql .render .RenderingStrategies ;
2830import org .mybatis .dynamic .sql .where .render .WhereClauseProvider ;
2931
@@ -41,4 +43,23 @@ void testThatParameterNameCarriesToSubCriteria() {
4143 assertThat (wc ).isEqualTo ("where id = #{myName.parameters.p1,jdbcType=INTEGER} or id = #{myName.parameters.p2,jdbcType=INTEGER}" )
4244 );
4345 }
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+ }
4465}
You can’t perform that action at this time.
0 commit comments