Skip to content

Commit da0b849

Browse files
committed
Rename the statement class - maybe finally have the right name?
1 parent c226083 commit da0b849

File tree

60 files changed

+399
-399
lines changed

Some content is hidden

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

60 files changed

+399
-399
lines changed

README.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ One capability is that very expressive dynamic queries can be generated. Here's
5757
try {
5858
AnimalDataMapper mapper = sqlSession.getMapper(AnimalDataMapper.class);
5959

60-
SelectStatement selectStatement = select(id, animalName, bodyWeight, brainWeight)
60+
SelectStatementProvider selectStatement = select(id, animalName, bodyWeight, brainWeight)
6161
.from(animalData)
6262
.where(id, isIn(1, 5, 7))
6363
.or(id, isIn(2, 6, 8), and(animalName, isLike("%bat")))
@@ -159,8 +159,8 @@ import org.apache.ibatis.annotations.DeleteProvider;
159159
import org.apache.ibatis.annotations.Result;
160160
import org.apache.ibatis.annotations.Results;
161161
import org.apache.ibatis.annotations.SelectProvider;
162-
import org.mybatis.dynamic.sql.delete.render.DeleteStatement;
163-
import org.mybatis.dynamic.sql.select.render.SelectStatement;
162+
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
163+
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
164164
import org.mybatis.dynamic.sql.util.SqlProviderAdapter;
165165

166166
public class SimpleTableAnnotatedMapper {
@@ -174,10 +174,10 @@ public class SimpleTableAnnotatedMapper {
174174
@Result(column="employed", property="employed", jdbcType=JdbcType.VARCHAR, typeHandler=YesNoTypeHandler.class),
175175
@Result(column="occupation", property="occupation", jdbcType=JdbcType.VARCHAR)
176176
})
177-
List<SimpleTableRecord> selectMany(SelectStatement selectStatement);
177+
List<SimpleTableRecord> selectMany(SelectStatementProvider selectStatement);
178178

179179
@DeleteProvider(type=SqlProviderAdapter.class, method="delete")
180-
int delete(DeleteStatement deleteStatement);
180+
int delete(DeleteStatementProvider deleteStatement);
181181
}
182182
```
183183
### Third - Create dynamic statements
@@ -188,7 +188,7 @@ All SQL construction methods can be accessed through expressive static methods i
188188
For example, a very simple select statement can be defined like this:
189189

190190
```java
191-
SelectStatement selectStatement = select(count())
191+
SelectStatementProvider selectStatement = select(count())
192192
.from(simpleTable)
193193
.where(id, isEqualTo(3))
194194
.build()
@@ -198,7 +198,7 @@ For example, a very simple select statement can be defined like this:
198198
Or this (also note that you can give a table an alias):
199199

200200
```java
201-
SelectStatement selectStatement = select(count())
201+
SelectStatementProvider selectStatement = select(count())
202202
.from(simpleTable, "a")
203203
.where(id, isNull())
204204
.build()
@@ -207,7 +207,7 @@ Or this (also note that you can give a table an alias):
207207
A delete statement looks like this:
208208

209209
```java
210-
DeleteStatement deleteStatement = deleteFrom(simpleTable)
210+
DeleteStatementProvider deleteStatement = deleteFrom(simpleTable)
211211
.where(occupation, isNull())
212212
.build()
213213
.render(RenderingStrategy.MYBATIS3);
@@ -216,7 +216,7 @@ A delete statement looks like this:
216216
The "between" condition is also expressive:
217217

218218
```java
219-
SelectStatement selectStatement = select(count())
219+
SelectStatementProvider selectStatement = select(count())
220220
.from(simpleTable)
221221
.where(id, isBetween(1).and(4))
222222
.build()
@@ -226,7 +226,7 @@ The "between" condition is also expressive:
226226
More complex expressions can be built using the "and" and "or" conditions as follows:
227227

228228
```java
229-
SelectStatement selectStatement = select(count())
229+
SelectStatementProvider selectStatement = select(count())
230230
.from(simpleTable)
231231
.where(id, isGreaterThan(2))
232232
.or(occupation, isNull(), and(id, isLessThan(6)))
@@ -255,7 +255,7 @@ an example from `examples.simple.SimpleTableAnnotatedMapperTest`:
255255
try {
256256
SimpleTableXmlMapper mapper = session.getMapper(SimpleTableXmlMapper.class);
257257

258-
SelectStatement selectStatement = select(id.as("A_ID"), firstName, lastName, birthDate, employed, occupation)
258+
SelectStatementProvider selectStatement = select(id.as("A_ID"), firstName, lastName, birthDate, employed, occupation)
259259
.from(simpleTable)
260260
.where(id, isEqualTo(1))
261261
.or(occupation, isNull())

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.mybatis.dynamic.sql.SqlCriterion;
2323
import org.mybatis.dynamic.sql.SqlTable;
2424
import org.mybatis.dynamic.sql.VisitableCondition;
25-
import org.mybatis.dynamic.sql.delete.render.DeleteStatement;
25+
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
2626
import org.mybatis.dynamic.sql.where.AbstractWhereDSL;
2727

2828
public class DeleteDSL<R> {
@@ -64,7 +64,7 @@ public static DeleteDSL<DeleteModel> deleteFrom(SqlTable table) {
6464
}
6565

6666
public static <T> DeleteDSL<MyBatis3DeleteModelAdapter<T>> deleteFromWithMapper(
67-
Function<DeleteStatement, T> mapperMethod, SqlTable table) {
67+
Function<DeleteStatementProvider, T> mapperMethod, SqlTable table) {
6868
return deleteFrom(deleteModel -> MyBatis3DeleteModelAdapter.of(deleteModel, mapperMethod), table);
6969
}
7070

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import org.mybatis.dynamic.sql.SqlTable;
2222
import org.mybatis.dynamic.sql.delete.render.DeleteRenderer;
23-
import org.mybatis.dynamic.sql.delete.render.DeleteStatement;
23+
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
2424
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2525
import org.mybatis.dynamic.sql.where.WhereModel;
2626

@@ -41,7 +41,7 @@ public Optional<WhereModel> whereModel() {
4141
return whereModel;
4242
}
4343

44-
public DeleteStatement render(RenderingStrategy renderingStrategy) {
44+
public DeleteStatementProvider render(RenderingStrategy renderingStrategy) {
4545
return DeleteRenderer.withDeleteModel(this)
4646
.withRenderingStrategy(renderingStrategy)
4747
.build()

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import java.util.Objects;
1919
import java.util.function.Function;
2020

21-
import org.mybatis.dynamic.sql.delete.render.DeleteStatement;
21+
import org.mybatis.dynamic.sql.delete.render.DeleteStatementProvider;
2222
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2323

2424
/**
@@ -30,9 +30,9 @@
3030
public class MyBatis3DeleteModelAdapter<R> {
3131

3232
private DeleteModel deleteModel;
33-
private Function<DeleteStatement, R> mapperMethod;
33+
private Function<DeleteStatementProvider, R> mapperMethod;
3434

35-
private MyBatis3DeleteModelAdapter(DeleteModel deleteModel, Function<DeleteStatement, R> mapperMethod) {
35+
private MyBatis3DeleteModelAdapter(DeleteModel deleteModel, Function<DeleteStatementProvider, R> mapperMethod) {
3636
this.deleteModel = Objects.requireNonNull(deleteModel);
3737
this.mapperMethod = Objects.requireNonNull(mapperMethod);
3838
}
@@ -41,12 +41,12 @@ public R execute() {
4141
return mapperMethod.apply(deleteStatement());
4242
}
4343

44-
private DeleteStatement deleteStatement() {
44+
private DeleteStatementProvider deleteStatement() {
4545
return deleteModel.render(RenderingStrategy.MYBATIS3);
4646
}
4747

4848
public static <R> MyBatis3DeleteModelAdapter<R> of(DeleteModel deleteModel,
49-
Function<DeleteStatement, R> mapperMethod) {
49+
Function<DeleteStatementProvider, R> mapperMethod) {
5050
return new MyBatis3DeleteModelAdapter<>(deleteModel, mapperMethod);
5151
}
5252
}

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.mybatis.dynamic.sql.delete.DeleteModel;
2121
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2222
import org.mybatis.dynamic.sql.where.WhereModel;
23-
import org.mybatis.dynamic.sql.where.render.WhereClauseAndParameters;
23+
import org.mybatis.dynamic.sql.where.render.WhereClauseProvider;
2424

2525
public class DeleteRenderer {
2626
private DeleteModel deleteModel;
@@ -31,13 +31,13 @@ private DeleteRenderer(Builder builder) {
3131
renderingStrategy = Objects.requireNonNull(builder.renderingStrategy);
3232
}
3333

34-
public DeleteStatement render() {
35-
return DeleteStatement.withTableName(deleteModel.table().name())
36-
.withWhereClause(deleteModel.whereModel().map(this::renderWhereModel))
34+
public DeleteStatementProvider render() {
35+
return DeleteStatementProvider.withTableName(deleteModel.table().name())
36+
.withWhereClause(deleteModel.whereModel().map(this::renderWhereClause))
3737
.build();
3838
}
3939

40-
private WhereClauseAndParameters renderWhereModel(WhereModel whereModel) {
40+
private WhereClauseProvider renderWhereClause(WhereModel whereModel) {
4141
return whereModel.render(renderingStrategy);
4242
}
4343

src/main/java/org/mybatis/dynamic/sql/delete/render/DeleteStatement.java src/main/java/org/mybatis/dynamic/sql/delete/render/DeleteStatementProvider.java

+12-12
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,26 @@
2222
import java.util.Objects;
2323
import java.util.Optional;
2424

25-
import org.mybatis.dynamic.sql.where.render.WhereClauseAndParameters;
25+
import org.mybatis.dynamic.sql.where.render.WhereClauseProvider;
2626

27-
public class DeleteStatement {
27+
public class DeleteStatementProvider {
2828
private String tableName;
29-
private Optional<WhereClauseAndParameters> whereClauseAndParameters;
29+
private Optional<WhereClauseProvider> whereClauseProvider;
3030

31-
private DeleteStatement(Builder builder) {
31+
private DeleteStatementProvider(Builder builder) {
3232
tableName = Objects.requireNonNull(builder.tableName);
33-
whereClauseAndParameters = Objects.requireNonNull(builder.whereClauseAndParameters);
33+
whereClauseProvider = Objects.requireNonNull(builder.whereClauseProvider);
3434
}
3535

3636
public Map<String, Object> getParameters() {
37-
return whereClauseAndParameters.map(WhereClauseAndParameters::parameters)
37+
return whereClauseProvider.map(WhereClauseProvider::getParameters)
3838
.orElse(Collections.emptyMap());
3939
}
4040

4141
public String getDeleteStatement() {
4242
return "delete from" //$NON-NLS-1$
4343
+ spaceBefore(tableName)
44-
+ spaceBefore(whereClauseAndParameters.map(WhereClauseAndParameters::whereClause));
44+
+ spaceBefore(whereClauseProvider.map(WhereClauseProvider::getWhereClause));
4545
}
4646

4747
public static Builder withTableName(String tableName) {
@@ -50,20 +50,20 @@ public static Builder withTableName(String tableName) {
5050

5151
public static class Builder {
5252
private String tableName;
53-
private Optional<WhereClauseAndParameters> whereClauseAndParameters = Optional.empty();
53+
private Optional<WhereClauseProvider> whereClauseProvider = Optional.empty();
5454

5555
public Builder withTableName(String tableName) {
5656
this.tableName = tableName;
5757
return this;
5858
}
5959

60-
public Builder withWhereClause(Optional<WhereClauseAndParameters> whereClauseAndParameters) {
61-
this.whereClauseAndParameters = whereClauseAndParameters;
60+
public Builder withWhereClause(Optional<WhereClauseProvider> whereClauseProvider) {
61+
this.whereClauseProvider = whereClauseProvider;
6262
return this;
6363
}
6464

65-
public DeleteStatement build() {
66-
return new DeleteStatement(this);
65+
public DeleteStatementProvider build() {
66+
return new DeleteStatementProvider(this);
6767
}
6868
}
6969
}

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
import org.mybatis.dynamic.sql.SqlTable;
2525
import org.mybatis.dynamic.sql.insert.render.InsertRenderer;
26-
import org.mybatis.dynamic.sql.insert.render.InsertStatement;
26+
import org.mybatis.dynamic.sql.insert.render.InsertStatementProvider;
2727
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2828
import org.mybatis.dynamic.sql.util.InsertMapping;
2929

@@ -50,7 +50,7 @@ public SqlTable table() {
5050
return table;
5151
}
5252

53-
public InsertStatement<T> render(RenderingStrategy renderingStrategy) {
53+
public InsertStatementProvider<T> render(RenderingStrategy renderingStrategy) {
5454
return InsertRenderer.withInsertModel(this)
5555
.withRenderingStrategy(renderingStrategy)
5656
.build()

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import org.mybatis.dynamic.sql.SqlTable;
2222
import org.mybatis.dynamic.sql.insert.render.InsertSelectRenderer;
23-
import org.mybatis.dynamic.sql.insert.render.InsertSelectStatement;
23+
import org.mybatis.dynamic.sql.insert.render.InsertSelectStatementProvider;
2424
import org.mybatis.dynamic.sql.render.RenderingStrategy;
2525
import org.mybatis.dynamic.sql.select.SelectModel;
2626

@@ -47,7 +47,7 @@ public Optional<InsertColumnListModel> columnList() {
4747
return columnList;
4848
}
4949

50-
public InsertSelectStatement render(RenderingStrategy renderingStrategy) {
50+
public InsertSelectStatementProvider render(RenderingStrategy renderingStrategy) {
5151
return InsertSelectRenderer.withInsertSelectModel(this)
5252
.withRenderingStrategy(renderingStrategy)
5353
.build()

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ private BatchInsert(Builder<T> builder) {
4141
*
4242
* @return a List of InsertStatements
4343
*/
44-
public List<InsertStatement<T>> insertStatements() {
44+
public List<InsertStatementProvider<T>> insertStatements() {
4545
return records.stream()
4646
.map(this::toInsertStatement)
4747
.collect(Collectors.toList());
4848
}
4949

50-
private InsertStatement<T> toInsertStatement(T record) {
51-
return InsertStatement.withRecord(record)
50+
private InsertStatementProvider<T> toInsertStatement(T record) {
51+
return InsertStatementProvider.withRecord(record)
5252
.withTableName(tableName)
5353
.withColumnsPhrase(columnsPhrase)
5454
.withValuesPhrase(valuesPhrase)

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ private InsertRenderer(Builder<T> builder) {
3232
renderingStrategy = Objects.requireNonNull(builder.renderingStrategy);
3333
}
3434

35-
public InsertStatement<T> render() {
35+
public InsertStatementProvider<T> render() {
3636
ValuePhraseVisitor visitor = new ValuePhraseVisitor(renderingStrategy);
3737
FieldAndValueCollector<T> collector = model.mapColumnMappings(toFieldAndValue(visitor))
3838
.collect(FieldAndValueCollector.collect());
39-
return InsertStatement.withRecord(model.record())
39+
return InsertStatementProvider.withRecord(model.record())
4040
.withTableName(model.table().name())
4141
.withColumnsPhrase(collector.columnsPhrase())
4242
.withValuesPhrase(collector.valuesPhrase())

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

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import org.mybatis.dynamic.sql.insert.InsertColumnListModel;
2424
import org.mybatis.dynamic.sql.insert.InsertSelectModel;
2525
import org.mybatis.dynamic.sql.render.RenderingStrategy;
26-
import org.mybatis.dynamic.sql.select.render.SelectStatement;
26+
import org.mybatis.dynamic.sql.select.render.SelectStatementProvider;
2727

2828
public class InsertSelectRenderer {
2929

@@ -35,10 +35,10 @@ private InsertSelectRenderer(Builder builder) {
3535
renderingStrategy = Objects.requireNonNull(builder.renderingStrategy);
3636
}
3737

38-
public InsertSelectStatement render() {
39-
SelectStatement selectStatement = model.selectModel().render(renderingStrategy);
38+
public InsertSelectStatementProvider render() {
39+
SelectStatementProvider selectStatement = model.selectModel().render(renderingStrategy);
4040

41-
return InsertSelectStatement.withTableName(model.table().name())
41+
return InsertSelectStatementProvider.withTableName(model.table().name())
4242
.withColumnsPhrase(calculateColumnsPhrase())
4343
.withSelectStatement(selectStatement.getSelectStatement())
4444
.withParameters(selectStatement.getParameters())

src/main/java/org/mybatis/dynamic/sql/insert/render/InsertSelectStatement.java src/main/java/org/mybatis/dynamic/sql/insert/render/InsertSelectStatementProvider.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
import java.util.Objects;
2323
import java.util.Optional;
2424

25-
public class InsertSelectStatement {
25+
public class InsertSelectStatementProvider {
2626
private String tableName;
2727
private Optional<String> columnsPhrase;
2828
private String selectStatement;
2929
private Map<String, Object> parameters;
3030

31-
private InsertSelectStatement(Builder builder) {
31+
private InsertSelectStatementProvider(Builder builder) {
3232
tableName = Objects.requireNonNull(builder.tableName);
3333
columnsPhrase = Objects.requireNonNull(builder.columnsPhrase);
3434
selectStatement = Objects.requireNonNull(builder.selectStatement);
@@ -76,8 +76,8 @@ public Builder withParameters(Map<String, Object> parameters) {
7676
return this;
7777
}
7878

79-
public InsertSelectStatement build() {
80-
return new InsertSelectStatement(this);
79+
public InsertSelectStatementProvider build() {
80+
return new InsertSelectStatementProvider(this);
8181
}
8282
}
8383
}

src/main/java/org/mybatis/dynamic/sql/insert/render/InsertStatement.java src/main/java/org/mybatis/dynamic/sql/insert/render/InsertStatementProvider.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919

2020
import java.util.Objects;
2121

22-
public class InsertStatement<T> {
22+
public class InsertStatementProvider<T> {
2323
private String tableName;
2424
private String columnsPhrase;
2525
private String valuesPhrase;
2626
private T record;
2727

28-
private InsertStatement(Builder<T> builder) {
28+
private InsertStatementProvider(Builder<T> builder) {
2929
tableName = Objects.requireNonNull(builder.tableName);
3030
columnsPhrase = Objects.requireNonNull(builder.columnsPhrase);
3131
valuesPhrase = Objects.requireNonNull(builder.valuesPhrase);
@@ -73,8 +73,8 @@ public Builder<T> withRecord(T record) {
7373
return this;
7474
}
7575

76-
public InsertStatement<T> build() {
77-
return new InsertStatement<>(this);
76+
public InsertStatementProvider<T> build() {
77+
return new InsertStatementProvider<>(this);
7878
}
7979
}
8080
}

0 commit comments

Comments
 (0)