Skip to content

Commit a8c9d72

Browse files
committed
Propagate statement configuration for update
1 parent 60d3114 commit a8c9d72

File tree

3 files changed

+14
-0
lines changed

3 files changed

+14
-0
lines changed

src/main/java/org/mybatis/dynamic/sql/update/UpdateDSL.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ public R build() {
104104
.withLimit(limit)
105105
.withOrderByModel(orderByModel)
106106
.withWhereModel(whereBuilder == null ? null : whereBuilder.buildWhereModel())
107+
.withStatementConfiguration(statementConfiguration)
107108
.build();
108109

109110
return adapterFunction.apply(updateModel);

src/main/java/org/mybatis/dynamic/sql/update/UpdateModel.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.mybatis.dynamic.sql.SqlTable;
2727
import org.mybatis.dynamic.sql.common.CommonBuilder;
2828
import org.mybatis.dynamic.sql.common.OrderByModel;
29+
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
2930
import org.mybatis.dynamic.sql.render.RenderingStrategy;
3031
import org.mybatis.dynamic.sql.update.render.UpdateRenderer;
3132
import org.mybatis.dynamic.sql.update.render.UpdateStatementProvider;
@@ -40,6 +41,7 @@ public class UpdateModel {
4041
private final List<AbstractColumnMapping> columnMappings;
4142
private final Long limit;
4243
private final OrderByModel orderByModel;
44+
private final StatementConfiguration statementConfiguration;
4345

4446
private UpdateModel(Builder builder) {
4547
table = Objects.requireNonNull(builder.table());
@@ -49,6 +51,7 @@ private UpdateModel(Builder builder) {
4951
limit = builder.limit();
5052
orderByModel = builder.orderByModel();
5153
Validator.assertNotEmpty(columnMappings, "ERROR.17"); //$NON-NLS-1$
54+
statementConfiguration = Objects.requireNonNull(builder.statementConfiguration());
5255
}
5356

5457
public SqlTable table() {
@@ -79,6 +82,7 @@ public Optional<OrderByModel> orderByModel() {
7982
public UpdateStatementProvider render(RenderingStrategy renderingStrategy) {
8083
return UpdateRenderer.withUpdateModel(this)
8184
.withRenderingStrategy(renderingStrategy)
85+
.withStatementConfiguration(statementConfiguration)
8286
.build()
8387
.render();
8488
}

src/main/java/org/mybatis/dynamic/sql/update/render/UpdateRenderer.java

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

2323
import org.mybatis.dynamic.sql.common.OrderByModel;
2424
import org.mybatis.dynamic.sql.common.OrderByRenderer;
25+
import org.mybatis.dynamic.sql.configuration.StatementConfiguration;
2526
import org.mybatis.dynamic.sql.render.ExplicitTableAliasCalculator;
2627
import org.mybatis.dynamic.sql.render.RenderedParameterInfo;
2728
import org.mybatis.dynamic.sql.render.RenderingContext;
@@ -43,6 +44,8 @@ private UpdateRenderer(Builder builder) {
4344
TableAliasCalculator tableAliasCalculator = builder.updateModel.tableAlias()
4445
.map(a -> ExplicitTableAliasCalculator.of(updateModel.table(), a))
4546
.orElseGet(TableAliasCalculator::empty);
47+
// TODO - Add configuration to RenderingContext
48+
Objects.requireNonNull(builder.statementConfiguration);
4649
renderingContext = RenderingContext
4750
.withRenderingStrategy(Objects.requireNonNull(builder.renderingStrategy))
4851
.withTableAliasCalculator(tableAliasCalculator)
@@ -134,6 +137,7 @@ public static Builder withUpdateModel(UpdateModel updateModel) {
134137
public static class Builder {
135138
private UpdateModel updateModel;
136139
private RenderingStrategy renderingStrategy;
140+
private StatementConfiguration statementConfiguration;
137141

138142
public Builder withUpdateModel(UpdateModel updateModel) {
139143
this.updateModel = updateModel;
@@ -145,6 +149,11 @@ public Builder withRenderingStrategy(RenderingStrategy renderingStrategy) {
145149
return this;
146150
}
147151

152+
public Builder withStatementConfiguration(StatementConfiguration statementConfiguration) {
153+
this.statementConfiguration = statementConfiguration;
154+
return this;
155+
}
156+
148157
public UpdateRenderer build() {
149158
return new UpdateRenderer(this);
150159
}

0 commit comments

Comments
 (0)