Skip to content

Commit 6380d6f

Browse files
committed
Another round of misc. code cleanup
1 parent 06b2bba commit 6380d6f

File tree

15 files changed

+107
-184
lines changed

15 files changed

+107
-184
lines changed

src/main/java/org/mybatis/dynamic/sql/select/UnionQuery.java

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,9 @@
1717

1818
import java.util.Objects;
1919

20-
public class UnionQuery {
21-
private final String connector;
22-
private final SelectModel selectModel;
23-
20+
public record UnionQuery(String connector, SelectModel selectModel) {
2421
public UnionQuery(String connector, SelectModel selectModel) {
2522
this.connector = Objects.requireNonNull(connector);
2623
this.selectModel = Objects.requireNonNull(selectModel);
2724
}
28-
29-
public String connector() {
30-
return connector;
31-
}
32-
33-
public SelectModel selectModel() {
34-
return selectModel;
35-
}
3625
}

src/test/java/examples/complexquery/GroupingTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@
3333

3434
class GroupingTest {
3535
private static class Foo extends SqlTable {
36-
public SqlColumn<Integer> columnA = column("A");
37-
public SqlColumn<Integer> columnB = column("B");
38-
public SqlColumn<Integer> columnC = column("C");
36+
public final SqlColumn<Integer> columnA = column("A");
37+
public final SqlColumn<Integer> columnB = column("B");
38+
public final SqlColumn<Integer> columnC = column("C");
3939

4040
public Foo() {
4141
super("Foo");

src/test/java/examples/emptywhere/EmptyWhereTest.java

Lines changed: 52 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@
2020
import static org.assertj.core.api.Assertions.assertThat;
2121
import static org.mybatis.dynamic.sql.SqlBuilder.*;
2222

23-
import java.util.*;
23+
import java.util.Optional;
2424
import java.util.stream.Stream;
2525

26+
import org.jspecify.annotations.NullMarked;
27+
import org.jspecify.annotations.Nullable;
2628
import org.junit.jupiter.api.Test;
2729
import org.junit.jupiter.params.ParameterizedTest;
2830
import org.junit.jupiter.params.provider.MethodSource;
@@ -39,62 +41,63 @@
3941
import org.mybatis.dynamic.sql.where.WhereDSL;
4042
import org.mybatis.dynamic.sql.where.render.WhereClauseProvider;
4143

44+
@NullMarked
4245
class EmptyWhereTest {
46+
private static final String FIRST_NAME = "Fred";
47+
private static final String LAST_NAME = "Flintstone";
4348

44-
static List<Variation> baseVariations() {
45-
String firstName = "Fred";
46-
String lastName = "Flintstone";
47-
48-
Variation v1 = new Variation(firstName, lastName,
49+
static Stream<Variation> whereVariations() {
50+
Variation v1 = new Variation(FIRST_NAME, LAST_NAME,
4951
"where first_name = #{parameters.p1} or last_name = #{parameters.p2}");
5052

51-
Variation v2 = new Variation(null, lastName,
53+
Variation v2 = new Variation(null, LAST_NAME,
5254
"where last_name = #{parameters.p1}");
5355

54-
Variation v3 = new Variation(firstName, null,
56+
Variation v3 = new Variation(FIRST_NAME, null,
5557
"where first_name = #{parameters.p1}");
5658

5759
Variation v4 = new Variation(null, null, "");
5860

59-
return List.of(v1, v2, v3, v4);
60-
}
61-
62-
static Stream<Variation> whereVariations() {
63-
return baseVariations().stream();
61+
return Stream.of(v1, v2, v3, v4);
6462
}
6563

6664
static Stream<Variation> joinWhereVariations() {
67-
List<Variation> baseVariations = baseVariations();
65+
Variation v1 = new Variation(FIRST_NAME, LAST_NAME,
66+
"where person.first_name = #{parameters.p1} or person.last_name = #{parameters.p2}");
6867

69-
baseVariations.get(0).whereClause =
70-
"where person.first_name = #{parameters.p1} or person.last_name = #{parameters.p2}";
71-
baseVariations.get(1).whereClause = "where person.last_name = #{parameters.p1}";
72-
baseVariations.get(2).whereClause = "where person.first_name = #{parameters.p1}";
68+
Variation v2 = new Variation(null, LAST_NAME,
69+
"where person.last_name = #{parameters.p1}");
7370

74-
return baseVariations.stream();
71+
Variation v3 = new Variation(FIRST_NAME, null,
72+
"where person.first_name = #{parameters.p1}");
73+
74+
Variation v4 = new Variation(null, null, "");
75+
76+
return Stream.of(v1, v2, v3, v4);
7577
}
7678

7779
static Stream<Variation> updateWhereVariations() {
78-
List<Variation> baseVariations = baseVariations();
80+
Variation v1 = new Variation(FIRST_NAME, LAST_NAME,
81+
"where first_name = #{parameters.p2} or last_name = #{parameters.p3}");
7982

80-
baseVariations.get(0).whereClause =
81-
"where first_name = #{parameters.p2} or last_name = #{parameters.p3}";
82-
baseVariations.get(1).whereClause ="where last_name = #{parameters.p2}";
83-
baseVariations.get(2).whereClause = "where first_name = #{parameters.p2}";
83+
Variation v2 = new Variation(null, LAST_NAME,
84+
"where last_name = #{parameters.p2}");
8485

85-
return baseVariations.stream();
86+
Variation v3 = new Variation(FIRST_NAME, null,
87+
"where first_name = #{parameters.p2}");
88+
89+
Variation v4 = new Variation(null, null, "");
90+
91+
return Stream.of(v1, v2, v3, v4);
8692
}
8793

8894
@Test
8995
void testDeleteThreeConditions() {
90-
String fName = "Fred";
91-
String lName = "Flintstone";
92-
9396
DeleteDSL<DeleteModel>.DeleteWhereBuilder builder = deleteFrom(person)
9497
.where(id, isEqualTo(3));
9598

96-
builder.and(firstName, isEqualTo(fName).filter(Objects::nonNull));
97-
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(lName).filter(Objects::nonNull));
99+
builder.and(firstName, isEqualTo(FIRST_NAME));
100+
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(LAST_NAME));
98101

99102
DeleteStatementProvider deleteStatement = builder.build().render(RenderingStrategies.MYBATIS3);
100103

@@ -112,8 +115,8 @@ void testDeleteVariations(Variation variation) {
112115
DeleteDSL<DeleteModel>.DeleteWhereBuilder builder = deleteFrom(person)
113116
.where();
114117

115-
builder.and(firstName, isEqualTo(variation.firstName).filter(Objects::nonNull));
116-
builder.or(PersonDynamicSqlSupport.lastName, isEqualTo(variation.lastName).filter(Objects::nonNull));
118+
builder.and(firstName, isEqualToWhenPresent(variation.firstName));
119+
builder.or(PersonDynamicSqlSupport.lastName, isEqualToWhenPresent(variation.lastName));
117120
builder.configureStatement(c -> c.setNonRenderingWhereClauseAllowed(true));
118121

119122
DeleteStatementProvider deleteStatement = builder.build().render(RenderingStrategies.MYBATIS3);
@@ -125,15 +128,12 @@ void testDeleteVariations(Variation variation) {
125128

126129
@Test
127130
void testSelectThreeConditions() {
128-
String fName = "Fred";
129-
String lName = "Flintstone";
130-
131131
QueryExpressionDSL<SelectModel>.QueryExpressionWhereBuilder builder = select(id, firstName, PersonDynamicSqlSupport.lastName)
132132
.from(person)
133133
.where(id, isEqualTo(3));
134134

135-
builder.and(firstName, isEqualTo(fName).filter(Objects::nonNull));
136-
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(lName).filter(Objects::nonNull));
135+
builder.and(firstName, isEqualTo(FIRST_NAME));
136+
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(LAST_NAME));
137137

138138
SelectStatementProvider selectStatement = builder.build().render(RenderingStrategies.MYBATIS3);
139139

@@ -153,8 +153,8 @@ void testSelectVariations(Variation variation) {
153153
.from(person)
154154
.where();
155155

156-
builder.and(firstName, isEqualTo(variation.firstName).filter(Objects::nonNull));
157-
builder.or(PersonDynamicSqlSupport.lastName, isEqualTo(variation.lastName).filter(Objects::nonNull));
156+
builder.and(firstName, isEqualToWhenPresent(variation.firstName));
157+
builder.or(PersonDynamicSqlSupport.lastName, isEqualToWhenPresent(variation.lastName));
158158
builder.configureStatement(c -> c.setNonRenderingWhereClauseAllowed(true));
159159

160160
SelectStatementProvider selectStatement = builder.build().render(RenderingStrategies.MYBATIS3);
@@ -166,15 +166,12 @@ void testSelectVariations(Variation variation) {
166166

167167
@Test
168168
void testJoinThreeConditions() {
169-
String fName = "Fred";
170-
String lName = "Flintstone";
171-
172169
QueryExpressionDSL<SelectModel>.QueryExpressionWhereBuilder builder = select(id, firstName, PersonDynamicSqlSupport.lastName, orderDate)
173170
.from(person).join(order).on(person.id, isEqualTo(order.personId))
174171
.where(id, isEqualTo(3));
175172

176-
builder.and(firstName, isEqualTo(fName).filter(Objects::nonNull));
177-
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(lName).filter(Objects::nonNull));
173+
builder.and(firstName, isEqualTo(FIRST_NAME));
174+
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(LAST_NAME));
178175

179176
SelectStatementProvider selectStatement = builder.build().render(RenderingStrategies.MYBATIS3);
180177

@@ -195,8 +192,8 @@ void testJoinVariations(Variation variation) {
195192
.from(person).join(order).on(person.id, isEqualTo(order.personId))
196193
.where();
197194

198-
builder.and(firstName, isEqualTo(variation.firstName).filter(Objects::nonNull));
199-
builder.or(PersonDynamicSqlSupport.lastName, isEqualTo(variation.lastName).filter(Objects::nonNull));
195+
builder.and(firstName, isEqualToWhenPresent(variation.firstName));
196+
builder.or(PersonDynamicSqlSupport.lastName, isEqualToWhenPresent(variation.lastName));
200197
builder.configureStatement(c -> c.setNonRenderingWhereClauseAllowed(true));
201198

202199
SelectStatementProvider selectStatement = builder.build().render(RenderingStrategies.MYBATIS3);
@@ -211,15 +208,12 @@ void testJoinVariations(Variation variation) {
211208

212209
@Test
213210
void testUpdateThreeConditions() {
214-
String fName = "Fred";
215-
String lName = "Flintstone";
216-
217211
UpdateDSL<UpdateModel>.UpdateWhereBuilder builder = update(person)
218212
.set(id).equalTo(3)
219213
.where(id, isEqualTo(3));
220214

221-
builder.and(firstName, isEqualTo(fName).filter(Objects::nonNull));
222-
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(lName).filter(Objects::nonNull));
215+
builder.and(firstName, isEqualTo(FIRST_NAME));
216+
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(LAST_NAME));
223217

224218
UpdateStatementProvider updateStatement = builder.build().render(RenderingStrategies.MYBATIS3);
225219

@@ -239,8 +233,8 @@ void testUpdateVariations(Variation variation) {
239233
.set(id).equalTo(3)
240234
.where();
241235

242-
builder.and(firstName, isEqualTo(variation.firstName).filter(Objects::nonNull));
243-
builder.or(PersonDynamicSqlSupport.lastName, isEqualTo(variation.lastName).filter(Objects::nonNull));
236+
builder.and(firstName, isEqualToWhenPresent(variation.firstName));
237+
builder.or(PersonDynamicSqlSupport.lastName, isEqualToWhenPresent(variation.lastName));
244238
builder.configureStatement(c -> c.setNonRenderingWhereClauseAllowed(true));
245239

246240
UpdateStatementProvider updateStatement = builder.build().render(RenderingStrategies.MYBATIS3);
@@ -254,13 +248,10 @@ void testUpdateVariations(Variation variation) {
254248

255249
@Test
256250
void testWhereThreeConditions() {
257-
String fName = "Fred";
258-
String lName = "Flintstone";
259-
260251
WhereDSL.StandaloneWhereFinisher builder = where(id, isEqualTo(3));
261252

262-
builder.and(firstName, isEqualTo(fName).filter(Objects::nonNull));
263-
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(lName).filter(Objects::nonNull));
253+
builder.and(firstName, isEqualTo(FIRST_NAME));
254+
builder.and(PersonDynamicSqlSupport.lastName, isEqualTo(LAST_NAME));
264255

265256
Optional<WhereClauseProvider> whereClause = builder.build().render(RenderingStrategies.MYBATIS3);
266257

@@ -278,8 +269,8 @@ void testWhereThreeConditions() {
278269
void testWhereVariations(Variation variation) {
279270
WhereDSL.StandaloneWhereFinisher builder = where();
280271

281-
builder.and(firstName, isEqualTo(variation.firstName).filter(Objects::nonNull));
282-
builder.or(PersonDynamicSqlSupport.lastName, isEqualTo(variation.lastName).filter(Objects::nonNull));
272+
builder.and(firstName, isEqualToWhenPresent(variation.firstName));
273+
builder.or(PersonDynamicSqlSupport.lastName, isEqualToWhenPresent(variation.lastName));
283274
builder.configureStatement(c -> c.setNonRenderingWhereClauseAllowed(true));
284275

285276
Optional<WhereClauseProvider> whereClause = builder.build().render(RenderingStrategies.MYBATIS3);
@@ -293,15 +284,5 @@ void testWhereVariations(Variation variation) {
293284
}
294285
}
295286

296-
private static class Variation {
297-
String firstName;
298-
String lastName;
299-
String whereClause;
300-
301-
public Variation(String firstName, String lastName, String whereClause) {
302-
this.firstName = firstName;
303-
this.lastName = lastName;
304-
this.whereClause = whereClause;
305-
}
306-
}
287+
private record Variation (@Nullable String firstName, @Nullable String lastName, String whereClause) {}
307288
}

src/test/java/examples/emptywhere/OrderDynamicSqlSupport.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222

2323
public class OrderDynamicSqlSupport {
2424

25-
public static Order order = new Order();
26-
public static SqlColumn<Integer> personId = order.personId;
27-
public static SqlColumn<Date> orderDate = order.orderDate;
25+
public static final Order order = new Order();
26+
public static final SqlColumn<Integer> personId = order.personId;
27+
public static final SqlColumn<Date> orderDate = order.orderDate;
2828

2929
public static class Order extends SqlTable {
30-
public SqlColumn<Integer> personId = column("person_id");
31-
public SqlColumn<Date> orderDate = column("order_date");
30+
public final SqlColumn<Integer> personId = column("person_id");
31+
public final SqlColumn<Date> orderDate = column("order_date");
3232

3333
public Order() {
3434
super("order");

src/test/java/examples/emptywhere/PersonDynamicSqlSupport.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@
2020

2121
public class PersonDynamicSqlSupport {
2222

23-
public static Person person = new Person();
24-
public static SqlColumn<Integer> id = person.id;
25-
public static SqlColumn<String> firstName = person.firstName;
26-
public static SqlColumn<String> lastName = person.lastName;
23+
public static final Person person = new Person();
24+
public static final SqlColumn<Integer> id = person.id;
25+
public static final SqlColumn<String> firstName = person.firstName;
26+
public static final SqlColumn<String> lastName = person.lastName;
2727

2828
public static class Person extends SqlTable {
29-
public SqlColumn<Integer> id = column("id");
30-
public SqlColumn<String> firstName = column("first_name");
31-
public SqlColumn<String> lastName = column("last_name");
29+
public final SqlColumn<Integer> id = column("id");
30+
public final SqlColumn<String> firstName = column("first_name");
31+
public final SqlColumn<String> lastName = column("last_name");
3232

3333
public Person() {
3434
super("person");

src/test/java/examples/spring/PersonTemplateTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -779,7 +779,7 @@ void testJoinCountWithSubCriteria() {
779779
};
780780

781781

782-
static RowMapper<PersonRecord> personRowMapper =
782+
static final RowMapper<PersonRecord> personRowMapper =
783783
(rs, i) -> {
784784
PersonRecord row = new PersonRecord();
785785
row.setId(rs.getInt(1));

src/test/java/examples/spring/SpringMapToRowTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ void testInsertBatch() {
122122
assertThat(records).hasSize(3);
123123
}
124124

125-
static RowMapper<CompoundKeyRow> rowMapper =
125+
static final RowMapper<CompoundKeyRow> rowMapper =
126126
(rs, i) -> {
127127
CompoundKeyRow answer = new CompoundKeyRow();
128128
answer.setId1(rs.getInt("ID1"));

src/test/java/examples/springbatch/common/PersonProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class PersonProcessor implements ItemProcessor<PersonRecord, PersonRecord
2929
private ExecutionContext executionContext;
3030

3131
@Override
32-
public PersonRecord process(PersonRecord person) throws Exception {
32+
public PersonRecord process(PersonRecord person) {
3333
incrementRowCount();
3434

3535
PersonRecord transformed = new PersonRecord();

src/test/java/examples/springbatch/mapper/PersonDynamicSqlSupport.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@
2222

2323
public class PersonDynamicSqlSupport {
2424

25-
public static Person person = new Person();
26-
public static SqlColumn<Integer> id = person.id;
27-
public static SqlColumn<String> firstName = person.firstName;
28-
public static SqlColumn<String> lastName = person.lastName;
29-
public static SqlColumn<Boolean> forPagingTest = person.forPagingTest;
25+
public static final Person person = new Person();
26+
public static final SqlColumn<Integer> id = person.id;
27+
public static final SqlColumn<String> firstName = person.firstName;
28+
public static final SqlColumn<String> lastName = person.lastName;
29+
public static final SqlColumn<Boolean> forPagingTest = person.forPagingTest;
3030

3131
public static class Person extends SqlTable {
32-
public SqlColumn<Integer> id = column("id", JDBCType.INTEGER);
33-
public SqlColumn<String> firstName = column("first_name", JDBCType.VARCHAR);
34-
public SqlColumn<String> lastName = column("last_name", JDBCType.VARCHAR);
35-
public SqlColumn<Boolean> forPagingTest = column("for_paging_test", JDBCType.BOOLEAN);
32+
public final SqlColumn<Integer> id = column("id", JDBCType.INTEGER);
33+
public final SqlColumn<String> firstName = column("first_name", JDBCType.VARCHAR);
34+
public final SqlColumn<String> lastName = column("last_name", JDBCType.VARCHAR);
35+
public final SqlColumn<Boolean> forPagingTest = column("for_paging_test", JDBCType.BOOLEAN);
3636

3737
public Person() {
3838
super("person");

0 commit comments

Comments
 (0)