Skip to content

Commit b517762

Browse files
authored
Merge pull request #931 from jeffgbutler/code_cleanup
Use Records when Possible
2 parents 3b35f4c + b0e8124 commit b517762

File tree

71 files changed

+918
-1465
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+918
-1465
lines changed

Diff for: src/main/java/org/mybatis/dynamic/sql/select/UnionQuery.java

+1-12
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
}

Diff for: src/main/java/org/mybatis/dynamic/sql/util/spring/BatchInsertUtility.java

+1-11
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,5 @@ public static <T> SqlParameterSource[] createBatch(List<T> rows) {
3939
return SqlParameterSourceUtils.createBatch(tt);
4040
}
4141

42-
public static class RowHolder<T> {
43-
private final T row;
44-
45-
public RowHolder(T row) {
46-
this.row = row;
47-
}
48-
49-
public T getRow() {
50-
return row;
51-
}
52-
}
42+
public record RowHolder<T> (T row) {}
5343
}

Diff for: src/test/java/examples/animal/data/AnimalData.java

+1-38
Original file line numberDiff line numberDiff line change
@@ -15,41 +15,4 @@
1515
*/
1616
package examples.animal.data;
1717

18-
public class AnimalData {
19-
private int id;
20-
private String animalName;
21-
private double brainWeight;
22-
private double bodyWeight;
23-
24-
public int getId() {
25-
return id;
26-
}
27-
28-
public void setId(int id) {
29-
this.id = id;
30-
}
31-
32-
public String getAnimalName() {
33-
return animalName;
34-
}
35-
36-
public void setAnimalName(String animalName) {
37-
this.animalName = animalName;
38-
}
39-
40-
public double getBrainWeight() {
41-
return brainWeight;
42-
}
43-
44-
public void setBrainWeight(double brainWeight) {
45-
this.brainWeight = brainWeight;
46-
}
47-
48-
public double getBodyWeight() {
49-
return bodyWeight;
50-
}
51-
52-
public void setBodyWeight(double bodyWeight) {
53-
this.bodyWeight = bodyWeight;
54-
}
55-
}
18+
public record AnimalData(int id, String animalName, double brainWeight, double bodyWeight) {}

Diff for: src/test/java/examples/animal/data/AnimalDataMapper.java

+29-15
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,8 @@
1717

1818
import java.util.List;
1919

20+
import org.apache.ibatis.annotations.Arg;
2021
import org.apache.ibatis.annotations.Param;
21-
import org.apache.ibatis.annotations.Result;
22-
import org.apache.ibatis.annotations.ResultMap;
23-
import org.apache.ibatis.annotations.Results;
2422
import org.apache.ibatis.annotations.Select;
2523
import org.apache.ibatis.annotations.SelectProvider;
2624
import org.apache.ibatis.session.RowBounds;
@@ -34,36 +32,46 @@
3432
public interface AnimalDataMapper extends CommonDeleteMapper, CommonInsertMapper<AnimalData>, CommonUpdateMapper {
3533

3634
@SelectProvider(type=SqlProviderAdapter.class, method="select")
37-
@Results(id="AnimalDataResult", value={
38-
@Result(column="id", property="id", id=true),
39-
@Result(column="animal_name", property="animalName"),
40-
@Result(column="brain_weight", property="brainWeight"),
41-
@Result(column="body_weight", property="bodyWeight")
42-
})
35+
@Arg(column = "id", javaType = int.class, id = true)
36+
@Arg(column = "animal_name", javaType = String.class)
37+
@Arg(column = "brain_weight", javaType = double.class)
38+
@Arg(column = "body_weight", javaType = double.class)
4339
List<AnimalData> selectMany(SelectStatementProvider selectStatement);
4440

4541
@SelectProvider(type = SqlProviderAdapter.class, method = "select")
46-
@ResultMap("AnimalDataResult")
42+
@Arg(column = "id", javaType = int.class, id = true)
43+
@Arg(column = "animal_name", javaType = String.class)
44+
@Arg(column = "brain_weight", javaType = double.class)
45+
@Arg(column = "body_weight", javaType = double.class)
4746
List<AnimalData> selectManyWithRowBounds(SelectStatementProvider selectStatement, RowBounds rowBounds);
4847

4948
@SelectProvider(type = SqlProviderAdapter.class, method = "select")
50-
@ResultMap("AnimalDataResult")
49+
@Arg(column = "id", javaType = int.class, id = true)
50+
@Arg(column = "animal_name", javaType = String.class)
51+
@Arg(column = "brain_weight", javaType = double.class)
52+
@Arg(column = "body_weight", javaType = double.class)
5153
AnimalData selectOne(SelectStatementProvider selectStatement);
5254

5355
@Select({
5456
"select id, animal_name, brain_weight, body_weight",
5557
"from AnimalData",
5658
"${whereClause}"
5759
})
58-
@ResultMap("AnimalDataResult")
60+
@Arg(column = "id", javaType = int.class, id = true)
61+
@Arg(column = "animal_name", javaType = String.class)
62+
@Arg(column = "brain_weight", javaType = double.class)
63+
@Arg(column = "body_weight", javaType = double.class)
5964
List<AnimalData> selectWithWhereClause(WhereClauseProvider whereClause);
6065

6166
@Select({
6267
"select a.id, a.animal_name, a.brain_weight, a.body_weight",
6368
"from AnimalData a",
6469
"${whereClause}"
6570
})
66-
@ResultMap("AnimalDataResult")
71+
@Arg(column = "id", javaType = int.class, id = true)
72+
@Arg(column = "animal_name", javaType = String.class)
73+
@Arg(column = "brain_weight", javaType = double.class)
74+
@Arg(column = "body_weight", javaType = double.class)
6775
List<AnimalData> selectWithWhereClauseAndAlias(WhereClauseProvider whereClause);
6876

6977
@Select({
@@ -73,7 +81,10 @@ public interface AnimalDataMapper extends CommonDeleteMapper, CommonInsertMapper
7381
"order by id",
7482
"OFFSET #{offset,jdbcType=INTEGER} LIMIT #{limit,jdbcType=INTEGER}"
7583
})
76-
@ResultMap("AnimalDataResult")
84+
@Arg(column = "id", javaType = int.class, id = true)
85+
@Arg(column = "animal_name", javaType = String.class)
86+
@Arg(column = "brain_weight", javaType = double.class)
87+
@Arg(column = "body_weight", javaType = double.class)
7788
List<AnimalData> selectWithWhereClauseLimitAndOffset(@Param("whereClauseProvider") WhereClauseProvider whereClause,
7889
@Param("limit") int limit, @Param("offset") int offset);
7990

@@ -84,7 +95,10 @@ List<AnimalData> selectWithWhereClauseLimitAndOffset(@Param("whereClauseProvider
8495
"order by id",
8596
"OFFSET #{offset,jdbcType=INTEGER} LIMIT #{limit,jdbcType=INTEGER}"
8697
})
87-
@ResultMap("AnimalDataResult")
98+
@Arg(column = "id", javaType = int.class, id = true)
99+
@Arg(column = "animal_name", javaType = String.class)
100+
@Arg(column = "brain_weight", javaType = double.class)
101+
@Arg(column = "body_weight", javaType = double.class)
88102
List<AnimalData> selectWithWhereClauseAliasLimitAndOffset(@Param("whereClauseProvider") WhereClauseProvider whereClause,
89103
@Param("limit") int limit, @Param("offset") int offset);
90104
}

0 commit comments

Comments
 (0)