Skip to content

Commit 99ade4b

Browse files
authored
Merge pull request #885 from jeffgbutler/optimizations
General Optimizations
2 parents 0e6342a + 17ac0c0 commit 99ade4b

35 files changed

+353
-436
lines changed

.github/workflows/ci.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
matrix:
1010
cache: [maven]
1111
distribution: [temurin]
12-
java: [17, 21, 22, 23-ea]
12+
java: [17, 21, 23, 24-ea]
1313
os: [ubuntu-latest]
1414
fail-fast: false
1515
max-parallel: 4

src/main/java/org/mybatis/dynamic/sql/delete/DeleteModel.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import org.mybatis.dynamic.sql.common.CommonBuilder;
2424
import org.mybatis.dynamic.sql.common.OrderByModel;
2525
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
26+
import org.mybatis.dynamic.sql.delete.render.DeleteRenderer;
2627
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
27-
import org.mybatis.dynamic.sql.render.RendererFactory;
2828
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2929
import org.mybatis.dynamic.sql.where.EmbeddedWhereModel;
3030

@@ -65,10 +65,16 @@ public Optional<OrderByModel> orderByModel() {
6565
return Optional.ofNullable(orderByModel);
6666
}
6767

68+
public StatementConfiguration statementConfiguration() {
69+
return statementConfiguration;
70+
}
71+
6872
@NotNull
6973
public DeleteStatementProvider render(RenderingStrategy renderingStrategy) {
70-
return RendererFactory.createDeleteRenderer(this, statementConfiguration)
71-
.render(renderingStrategy);
74+
return DeleteRenderer.withDeleteModel(this)
75+
.withRenderingStrategy(renderingStrategy)
76+
.build()
77+
.render();
7278
}
7379

7480
public static Builder withTable(SqlTable table) {

src/main/java/org/mybatis/dynamic/sql/delete/render/DefaultDeleteStatementProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class DefaultDeleteStatementProvider implements DeleteStatementProvider {
2525

2626
private DefaultDeleteStatementProvider(Builder builder) {
2727
deleteStatement = Objects.requireNonNull(builder.deleteStatement);
28-
parameters = Objects.requireNonNull(builder.parameters);
28+
parameters = builder.parameters;
2929
}
3030

3131
@Override

src/main/java/org/mybatis/dynamic/sql/delete/render/DeleteRenderer.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.mybatis.dynamic.sql.common.OrderByModel;
2323
import org.mybatis.dynamic.sql.common.OrderByRenderer;
24-
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
2524
import org.mybatis.dynamic.sql.delete.DeleteModel;
2625
import org.mybatis.dynamic.sql.render.ExplicitTableAliasCalculator;
2726
import org.mybatis.dynamic.sql.render.RenderedParameterInfo;
@@ -44,7 +43,7 @@ private DeleteRenderer(Builder builder) {
4443
renderingContext = RenderingContext
4544
.withRenderingStrategy(Objects.requireNonNull(builder.renderingStrategy))
4645
.withTableAliasCalculator(tableAliasCalculator)
47-
.withStatementConfiguration(builder.statementConfiguration)
46+
.withStatementConfiguration(deleteModel.statementConfiguration())
4847
.build();
4948
}
5049

@@ -106,7 +105,6 @@ public static Builder withDeleteModel(DeleteModel deleteModel) {
106105
public static class Builder {
107106
private DeleteModel deleteModel;
108107
private RenderingStrategy renderingStrategy;
109-
private StatementConfiguration statementConfiguration;
110108

111109
public Builder withDeleteModel(DeleteModel deleteModel) {
112110
this.deleteModel = deleteModel;
@@ -118,11 +116,6 @@ public Builder withRenderingStrategy(RenderingStrategy renderingStrategy) {
118116
return this;
119117
}
120118

121-
public Builder withStatementConfiguration(StatementConfiguration statementConfiguration) {
122-
this.statementConfiguration = statementConfiguration;
123-
return this;
124-
}
125-
126119
public DeleteRenderer build() {
127120
return new DeleteRenderer(this);
128121
}

src/main/java/org/mybatis/dynamic/sql/insert/BatchInsertModel.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
import org.jetbrains.annotations.NotNull;
2121
import org.mybatis.dynamic.sql.insert.render.BatchInsert;
22-
import org.mybatis.dynamic.sql.render.RendererFactory;
22+
import org.mybatis.dynamic.sql.insert.render.BatchInsertRenderer;
2323
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2424
import org.mybatis.dynamic.sql.util.Validator;
2525

@@ -33,8 +33,10 @@ private BatchInsertModel(Builder<T> builder) {
3333

3434
@NotNull
3535
public BatchInsert<T> render(RenderingStrategy renderingStrategy) {
36-
return RendererFactory.createBatchInsertRenderer(this)
37-
.render(renderingStrategy);
36+
return BatchInsertRenderer.withBatchInsertModel(this)
37+
.withRenderingStrategy(renderingStrategy)
38+
.build()
39+
.render();
3840
}
3941

4042
public static <T> Builder<T> withRecords(Collection<T> records) {

src/main/java/org/mybatis/dynamic/sql/insert/GeneralInsertModel.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import org.jetbrains.annotations.NotNull;
2424
import org.mybatis.dynamic.sql.SqlTable;
2525
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
26+
import org.mybatis.dynamic.sql.insert.render.GeneralInsertRenderer;
2627
import org.mybatis.dynamic.sql.insert.render.GeneralInsertStatementProvider;
27-
import org.mybatis.dynamic.sql.render.RendererFactory;
2828
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2929
import org.mybatis.dynamic.sql.util.AbstractColumnMapping;
3030
import org.mybatis.dynamic.sql.util.Validator;
@@ -50,10 +50,16 @@ public SqlTable table() {
5050
return table;
5151
}
5252

53+
public StatementConfiguration statementConfiguration() {
54+
return statementConfiguration;
55+
}
56+
5357
@NotNull
5458
public GeneralInsertStatementProvider render(RenderingStrategy renderingStrategy) {
55-
return RendererFactory.createGeneralInsertRenderer(this, statementConfiguration)
56-
.render(renderingStrategy);
59+
return GeneralInsertRenderer.withInsertModel(this)
60+
.withRenderingStrategy(renderingStrategy)
61+
.build()
62+
.render();
5763
}
5864

5965
public static class Builder {

src/main/java/org/mybatis/dynamic/sql/insert/InsertModel.java

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

2323
import org.jetbrains.annotations.NotNull;
2424
import org.mybatis.dynamic.sql.SqlTable;
25+
import org.mybatis.dynamic.sql.insert.render.InsertRenderer;
2526
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
26-
import org.mybatis.dynamic.sql.render.RendererFactory;
2727
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2828
import org.mybatis.dynamic.sql.util.AbstractColumnMapping;
2929
import org.mybatis.dynamic.sql.util.Validator;
@@ -54,8 +54,10 @@ public SqlTable table() {
5454

5555
@NotNull
5656
public InsertStatementProvider<T> render(RenderingStrategy renderingStrategy) {
57-
return RendererFactory.createInsertRenderer(this)
58-
.render(renderingStrategy);
57+
return InsertRenderer.withInsertModel(this)
58+
.withRenderingStrategy(renderingStrategy)
59+
.build()
60+
.render();
5961
}
6062

6163
public static <T> Builder<T> withRow(T row) {

src/main/java/org/mybatis/dynamic/sql/insert/InsertSelectModel.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
import org.jetbrains.annotations.NotNull;
2222
import org.mybatis.dynamic.sql.SqlTable;
2323
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
24+
import org.mybatis.dynamic.sql.insert.render.InsertSelectRenderer;
2425
import org.mybatis.dynamic.sql.insert.render.InsertSelectStatementProvider;
25-
import org.mybatis.dynamic.sql.render.RendererFactory;
2626
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2727
import org.mybatis.dynamic.sql.select.SelectModel;
2828

@@ -51,10 +51,16 @@ public Optional<InsertColumnListModel> columnList() {
5151
return Optional.ofNullable(columnList);
5252
}
5353

54+
public StatementConfiguration statementConfiguration() {
55+
return statementConfiguration;
56+
}
57+
5458
@NotNull
5559
public InsertSelectStatementProvider render(RenderingStrategy renderingStrategy) {
56-
return RendererFactory.createInsertSelectRenderer(this, statementConfiguration)
57-
.render(renderingStrategy);
60+
return InsertSelectRenderer.withInsertSelectModel(this)
61+
.withRenderingStrategy(renderingStrategy)
62+
.build()
63+
.render();
5864
}
5965

6066
public static Builder withTable(SqlTable table) {

src/main/java/org/mybatis/dynamic/sql/insert/MultiRowInsertModel.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
import java.util.Collection;
1919

2020
import org.jetbrains.annotations.NotNull;
21+
import org.mybatis.dynamic.sql.insert.render.MultiRowInsertRenderer;
2122
import org.mybatis.dynamic.sql.insert.render.MultiRowInsertStatementProvider;
22-
import org.mybatis.dynamic.sql.render.RendererFactory;
2323
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2424
import org.mybatis.dynamic.sql.util.Validator;
2525

@@ -33,8 +33,10 @@ private MultiRowInsertModel(Builder<T> builder) {
3333

3434
@NotNull
3535
public MultiRowInsertStatementProvider<T> render(RenderingStrategy renderingStrategy) {
36-
return RendererFactory.createMultiRowInsertRenderer(this)
37-
.render(renderingStrategy);
36+
return MultiRowInsertRenderer.withMultiRowInsertModel(this)
37+
.withRenderingStrategy(renderingStrategy)
38+
.build()
39+
.render();
3840
}
3941

4042
public static <T> Builder<T> withRecords(Collection<T> records) {

src/main/java/org/mybatis/dynamic/sql/insert/render/DefaultGeneralInsertStatementProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@
2222
public class DefaultGeneralInsertStatementProvider
2323
implements GeneralInsertStatementProvider, InsertSelectStatementProvider {
2424
private final String insertStatement;
25-
private final Map<String, Object> parameters = new HashMap<>();
25+
private final Map<String, Object> parameters;
2626

2727
private DefaultGeneralInsertStatementProvider(Builder builder) {
2828
insertStatement = Objects.requireNonNull(builder.insertStatement);
29-
parameters.putAll(builder.parameters);
29+
parameters = builder.parameters;
3030
}
3131

3232
@Override

0 commit comments

Comments
 (0)