Skip to content

Commit 08ae4b0

Browse files
committed
Merge branch 'master' into render-listeners
# Conflicts: # src/main/java/org/mybatis/dynamic/sql/delete/DeleteModel.java # src/main/java/org/mybatis/dynamic/sql/delete/render/DeleteRenderer.java # src/main/java/org/mybatis/dynamic/sql/render/RendererFactory.java # src/main/java/org/mybatis/dynamic/sql/update/UpdateModel.java # src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java
2 parents 000be1f + 99ade4b commit 08ae4b0

36 files changed

+366
-451
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

pom.xml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<parent>
2222
<groupId>org.mybatis</groupId>
2323
<artifactId>mybatis-parent</artifactId>
24-
<version>45</version>
24+
<version>48</version>
2525
</parent>
2626

2727
<groupId>org.mybatis.dynamic-sql</groupId>
@@ -60,16 +60,16 @@
6060
<java.release.version>17</java.release.version>
6161
<java.test.version>17</java.test.version>
6262
<java.test.release.version>17</java.test.release.version>
63-
<junit.jupiter.version>5.11.3</junit.jupiter.version>
64-
<spring.batch.version>5.1.2</spring.batch.version>
63+
<junit.jupiter.version>5.11.4</junit.jupiter.version>
64+
<spring.batch.version>5.2.1</spring.batch.version>
6565

6666
<checkstyle.config>checkstyle-override.xml</checkstyle.config>
6767

6868
<clirr.comparisonVersion>1.5.0</clirr.comparisonVersion>
6969

7070
<module.name>org.mybatis.dynamic.sql</module.name>
7171

72-
<kotlin.version>2.0.21</kotlin.version>
72+
<kotlin.version>2.1.0</kotlin.version>
7373
<kotlin.compiler.jvmTarget>17</kotlin.compiler.jvmTarget>
7474
<kotlin.compiler.languageVersion>2.0</kotlin.compiler.languageVersion>
7575
<kotlin.compiler.apiVersion>2.0</kotlin.compiler.apiVersion>
@@ -78,7 +78,7 @@
7878
<sonar.tests>src/test/java,src/test/kotlin</sonar.tests>
7979

8080
<kotlin.code.style>official</kotlin.code.style>
81-
<test.containers.version>1.20.3</test.containers.version>
81+
<test.containers.version>1.20.4</test.containers.version>
8282
<osgi.export>org.mybatis.dynamic.sql.*;version=${project.version};-noimport:=true</osgi.export>
8383

8484
<!-- Reproducible Builds -->
@@ -96,14 +96,14 @@
9696
<dependency>
9797
<groupId>org.springframework</groupId>
9898
<artifactId>spring-jdbc</artifactId>
99-
<version>6.1.14</version>
99+
<version>6.2.1</version>
100100
<scope>provided</scope>
101101
<optional>true</optional>
102102
</dependency>
103103
<dependency>
104104
<groupId>org.mybatis</groupId>
105105
<artifactId>mybatis</artifactId>
106-
<version>3.5.16</version>
106+
<version>3.5.17</version>
107107
<scope>provided</scope>
108108
<optional>true</optional>
109109
</dependency>
@@ -129,7 +129,7 @@
129129
<dependency>
130130
<groupId>org.assertj</groupId>
131131
<artifactId>assertj-core</artifactId>
132-
<version>3.26.3</version>
132+
<version>3.27.0</version>
133133
<scope>test</scope>
134134
</dependency>
135135
<dependency>
@@ -141,7 +141,7 @@
141141
<dependency>
142142
<groupId>org.hsqldb</groupId>
143143
<artifactId>hsqldb</artifactId>
144-
<version>2.7.3</version>
144+
<version>2.7.4</version>
145145
<scope>test</scope>
146146
</dependency>
147147
<dependency>
@@ -165,7 +165,7 @@
165165
<dependency>
166166
<groupId>ch.qos.logback</groupId>
167167
<artifactId>logback-classic</artifactId>
168-
<version>1.5.12</version>
168+
<version>1.5.15</version>
169169
<scope>test</scope>
170170
</dependency>
171171
<dependency>
@@ -195,7 +195,7 @@
195195
<dependency>
196196
<groupId>org.mariadb.jdbc</groupId>
197197
<artifactId>mariadb-java-client</artifactId>
198-
<version>3.5.0</version>
198+
<version>3.5.1</version>
199199
<scope>test</scope>
200200
</dependency>
201201
</dependencies>

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

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
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.DeleteRendererVisitor;
2728
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
28-
import org.mybatis.dynamic.sql.render.RendererFactory;
2929
import org.mybatis.dynamic.sql.render.RenderingStrategy;
3030
import org.mybatis.dynamic.sql.where.EmbeddedWhereModel;
3131

@@ -66,15 +66,22 @@ public Optional<OrderByModel> orderByModel() {
6666
return Optional.ofNullable(orderByModel);
6767
}
6868

69+
public StatementConfiguration statementConfiguration() {
70+
return statementConfiguration;
71+
}
72+
6973
@NotNull
7074
public DeleteStatementProvider render(RenderingStrategy renderingStrategy) {
7175
return render(renderingStrategy, DeleteRendererVisitor.NOOP);
7276
}
7377

7478
@NotNull
7579
public DeleteStatementProvider render(RenderingStrategy renderingStrategy, DeleteRendererVisitor visitor) {
76-
return RendererFactory.createDeleteRenderer(this, statementConfiguration, visitor)
77-
.render(renderingStrategy);
80+
return DeleteRenderer.withDeleteModel(this)
81+
.withRenderingStrategy(renderingStrategy)
82+
.withVisitor(visitor)
83+
.build()
84+
.render();
7885
}
7986

8087
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;
@@ -45,7 +44,7 @@ private DeleteRenderer(Builder builder) {
4544
renderingContext = RenderingContext
4645
.withRenderingStrategy(Objects.requireNonNull(builder.renderingStrategy))
4746
.withTableAliasCalculator(tableAliasCalculator)
48-
.withStatementConfiguration(builder.statementConfiguration)
47+
.withStatementConfiguration(deleteModel.statementConfiguration())
4948
.build();
5049
visitor = Objects.requireNonNull(builder.visitor);
5150
}
@@ -121,7 +120,6 @@ public static Builder withDeleteModel(DeleteModel deleteModel) {
121120
public static class Builder {
122121
private DeleteModel deleteModel;
123122
private RenderingStrategy renderingStrategy;
124-
private StatementConfiguration statementConfiguration;
125123
private DeleteRendererVisitor visitor;
126124

127125
public Builder withDeleteModel(DeleteModel deleteModel) {
@@ -134,11 +132,6 @@ public Builder withRenderingStrategy(RenderingStrategy renderingStrategy) {
134132
return this;
135133
}
136134

137-
public Builder withStatementConfiguration(StatementConfiguration statementConfiguration) {
138-
this.statementConfiguration = statementConfiguration;
139-
return this;
140-
}
141-
142135
public Builder withVisitor(DeleteRendererVisitor visitor) {
143136
this.visitor = visitor;
144137
return this;

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) {

0 commit comments

Comments
 (0)