Skip to content

Commit 60d3114

Browse files
committed
Propagate statement configuration for delete
1 parent daf0cb3 commit 60d3114

File tree

4 files changed

+25
-0
lines changed

4 files changed

+25
-0
lines changed

src/main/java/org/mybatis/dynamic/sql/common/CommonBuilder.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
package org.mybatis.dynamic.sql.common;
1717

1818
import org.mybatis.dynamic.sql.SqlTable;
19+
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
1920
import org.mybatis.dynamic.sql.where.WhereModel;
2021

2122
/**
@@ -29,6 +30,7 @@ public abstract class CommonBuilder<T extends CommonBuilder<T>> {
2930
private WhereModel whereModel;
3031
private Long limit;
3132
private OrderByModel orderByModel;
33+
private StatementConfiguration statementConfiguration;
3234

3335
public SqlTable table() {
3436
return table;
@@ -50,6 +52,10 @@ public OrderByModel orderByModel() {
5052
return orderByModel;
5153
}
5254

55+
public StatementConfiguration statementConfiguration() {
56+
return statementConfiguration;
57+
}
58+
5359
public T withTable(SqlTable table) {
5460
this.table = table;
5561
return getThis();
@@ -75,5 +81,10 @@ public T withOrderByModel(OrderByModel orderByModel) {
7581
return getThis();
7682
}
7783

84+
public T withStatementConfiguration(StatementConfiguration statementConfiguration) {
85+
this.statementConfiguration = statementConfiguration;
86+
return getThis();
87+
}
88+
7889
protected abstract T getThis();
7990
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public R build() {
8383
.withLimit(limit)
8484
.withOrderByModel(orderByModel)
8585
.withWhereModel(whereBuilder == null ? null : whereBuilder.buildWhereModel())
86+
.withStatementConfiguration(statementConfiguration)
8687
.build();
8788

8889
return adapterFunction.apply(deleteModel);

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.mybatis.dynamic.sql.SqlTable;
2323
import org.mybatis.dynamic.sql.common.CommonBuilder;
2424
import org.mybatis.dynamic.sql.common.OrderByModel;
25+
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
2526
import org.mybatis.dynamic.sql.delete.render.DeleteRenderer;
2627
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
2728
import org.mybatis.dynamic.sql.render.RenderingStrategy;
@@ -33,13 +34,15 @@ public class DeleteModel {
3334
private final WhereModel whereModel;
3435
private final Long limit;
3536
private final OrderByModel orderByModel;
37+
private final StatementConfiguration statementConfiguration;
3638

3739
private DeleteModel(Builder builder) {
3840
table = Objects.requireNonNull(builder.table());
3941
whereModel = builder.whereModel();
4042
tableAlias = builder.tableAlias();
4143
limit = builder.limit();
4244
orderByModel = builder.orderByModel();
45+
statementConfiguration = Objects.requireNonNull(builder.statementConfiguration());
4346
}
4447

4548
public SqlTable table() {
@@ -66,6 +69,7 @@ public Optional<OrderByModel> orderByModel() {
6669
public DeleteStatementProvider render(RenderingStrategy renderingStrategy) {
6770
return DeleteRenderer.withDeleteModel(this)
6871
.withRenderingStrategy(renderingStrategy)
72+
.withStatementConfiguration(statementConfiguration)
6973
.build()
7074
.render();
7175
}

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
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;
2425
import org.mybatis.dynamic.sql.delete.DeleteModel;
2526
import org.mybatis.dynamic.sql.render.ExplicitTableAliasCalculator;
2627
import org.mybatis.dynamic.sql.render.RenderedParameterInfo;
@@ -41,6 +42,8 @@ private DeleteRenderer(Builder builder) {
4142
TableAliasCalculator tableAliasCalculator = builder.deleteModel.tableAlias()
4243
.map(a -> ExplicitTableAliasCalculator.of(deleteModel.table(), a))
4344
.orElseGet(TableAliasCalculator::empty);
45+
// TODO - Add configuration to RenderingContext
46+
Objects.requireNonNull(builder.statementConfiguration);
4447
renderingContext = RenderingContext
4548
.withRenderingStrategy(Objects.requireNonNull(builder.renderingStrategy))
4649
.withTableAliasCalculator(tableAliasCalculator)
@@ -108,6 +111,7 @@ public static Builder withDeleteModel(DeleteModel deleteModel) {
108111
public static class Builder {
109112
private DeleteModel deleteModel;
110113
private RenderingStrategy renderingStrategy;
114+
private StatementConfiguration statementConfiguration;
111115

112116
public Builder withDeleteModel(DeleteModel deleteModel) {
113117
this.deleteModel = deleteModel;
@@ -119,6 +123,11 @@ public Builder withRenderingStrategy(RenderingStrategy renderingStrategy) {
119123
return this;
120124
}
121125

126+
public Builder withStatementConfiguration(StatementConfiguration statementConfiguration) {
127+
this.statementConfiguration = statementConfiguration;
128+
return this;
129+
}
130+
122131
public DeleteRenderer build() {
123132
return new DeleteRenderer(this);
124133
}

0 commit comments

Comments
 (0)