Interface QueryBuilder
- All Known Implementing Classes:
AbstractSqlLikeQueryBuilder, CosmosSqlQueryBuilder, JpaQueryBuilder, MongoQueryBuilder, SqlQueryBuilder
@Introspected
public interface QueryBuilder
An interface capable of encoding a query into a string and a set of named parameters.
- Since:
- 1.0
- Author:
- graemerocher, Denis Stepanov
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceThe base query definition.static interfaceThe delete query definition.static interfaceThe insert query definition.static interfaceThe select query definition.static interfaceThe update query definition.static interfaceThe upsert query definition. -
Method Summary
Modifier and TypeMethodDescriptionbuildDelete(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder.DeleteQueryDefinition definition) Encode the given query into the encoded query instance.@Nullable QueryResultbuildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, QueryBuilder.InsertQueryDefinition definition) Builds an insert statement for the given entity.buildLimitAndOffset(long limit, long offset) Generate the limit and offset query.buildSelect(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder.SelectQueryDefinition query) Encode the given query for the passed annotation metadata and query.buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder.UpdateQueryDefinition definition) Encode the given query into the encoded query instance.default QueryResultbuildUpsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, QueryBuilder.UpsertQueryDefinition definition) Builds an upsert statement for the given entity.
-
Method Details
-
buildInsert
@Nullable QueryResult buildInsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, QueryBuilder.InsertQueryDefinition definition) Builds an insert statement for the given entity.- Parameters:
repositoryMetadata- The repository annotation metadatadefinition- The definition- Returns:
- The insert statement or null if the implementation doesn't require insert statements
-
buildUpsert
default QueryResult buildUpsert(io.micronaut.core.annotation.AnnotationMetadata repositoryMetadata, QueryBuilder.UpsertQueryDefinition definition) Builds an upsert statement for the given entity.- Parameters:
repositoryMetadata- The repository annotation metadatadefinition- The definition- Returns:
- The upsert statement
- Since:
- 5.2.0
-
buildSelect
QueryResult buildSelect(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder.SelectQueryDefinition query) Encode the given query for the passed annotation metadata and query.- Parameters:
annotationMetadata- The annotation metadataquery- The query model- Returns:
- The query result
-
buildUpdate
QueryResult buildUpdate(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder.UpdateQueryDefinition definition) Encode the given query into the encoded query instance.- Parameters:
annotationMetadata- The annotation metadatadefinition- The definition- Returns:
- The encoded query
-
buildDelete
QueryResult buildDelete(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata, QueryBuilder.DeleteQueryDefinition definition) Encode the given query into the encoded query instance.- Parameters:
annotationMetadata- The annotation metadatadefinition- The query definition- Returns:
- The encoded query
-
buildLimitAndOffset
Generate the limit and offset query.- Parameters:
limit- The limit (-1 of not set)offset- The offset (0 if not set)- Returns:
- The encoded query
-