V
- the type of the API Valuepublic class QueryBuilder<V> extends Object implements QueryBuilderInterface<V>
QueryBuilder
allows for queries to be constructed in parts.Modifier and Type | Field and Description |
---|---|
protected String |
from |
protected static String |
FROM |
protected Integer |
limit |
protected static String |
LIMIT |
protected Integer |
offset |
protected static String |
OFFSET |
protected static String |
ORDER_BY |
protected String |
orderBy |
protected String |
select |
protected static String |
SELECT |
protected Map<String,V> |
valueMap |
protected String |
where |
protected static String |
WHERE |
Constructor and Description |
---|
QueryBuilder()
Constructs a query builder.
|
Modifier and Type | Method and Description |
---|---|
String |
buildQuery()
Builds the query from the clauses.
|
QueryBuilder<V> |
from(String table)
Sets the statement FROM clause in the form of "table".
|
Map<String,V> |
getBindVariableMap()
Returns an unmodifiable form of the key to value map.
|
Integer |
getOffset()
Gets the current offset.
|
QueryBuilder<V> |
increaseOffsetBy(Integer amount)
Increases the offset by the
amount . |
QueryBuilder<V> |
limit(Integer count)
Sets the statement LIMIT clause in the form of
"LIMIT <count>"
e.g. |
QueryBuilder<V> |
offset(Integer count)
Sets the statement OFFSET clause in the form of
"OFFSET <count>"
e.g. |
QueryBuilder<V> |
orderBy(String orderBy)
Sets the statement ORDER BY clause in the form of
"ORDER BY <property> [ASC | DESC]"
e.g. |
QueryBuilder<V> |
removeLimitAndOffset()
Removes the limit and offset from the query.
|
QueryBuilder<V> |
select(String columns)
Sets the statement SELECT clause in the form of "a,b" or "*".
|
protected void |
validateQuery()
Checks that the query is valid.
|
QueryBuilder<V> |
where(String conditions)
Sets the statement WHERE clause in the form of
"WHERE <condition> {[AND | OR] <condition> ...}"
e.g. |
QueryBuilder<V> |
withBindVariableValue(String key,
V value)
Adds a value to the statement in the form of a
Value . |
QueryBuilder<V> |
withBindVariableValues(Map<String,V> values)
Adds all key value mappings.
|
protected static final String SELECT
protected static final String FROM
protected static final String WHERE
protected static final String LIMIT
protected static final String OFFSET
protected static final String ORDER_BY
protected String select
protected String from
protected String where
protected Integer limit
protected Integer offset
protected String orderBy
public QueryBuilder<V> select(String columns)
PublisherQueryLanguageService
. The "SELECT " keyword will be
ignored.select
in interface QueryBuilderInterface<V>
columns
- the statement select clause without "SELECT"public QueryBuilder<V> from(String table)
PublisherQueryLanguageService
. The "FROM " keyword will be
ignored.from
in interface QueryBuilderInterface<V>
table
- the statement from clause without "FROM"public QueryBuilder<V> where(String conditions)
"WHERE <condition> {[AND | OR] <condition> ...}"
where
in interface QueryBuilderInterface<V>
conditions
- the statement query without "WHERE"public QueryBuilder<V> limit(Integer count)
"LIMIT <count>"
limit
in interface QueryBuilderInterface<V>
count
- the statement limitpublic QueryBuilder<V> offset(Integer count)
"OFFSET <count>"
offset
in interface QueryBuilderInterface<V>
count
- the statement offsetpublic QueryBuilder<V> increaseOffsetBy(Integer amount)
amount
.increaseOffsetBy
in interface QueryBuilderInterface<V>
amount
- the amount to increase the offsetpublic Integer getOffset()
getOffset
in interface QueryBuilderInterface<V>
public QueryBuilder<V> removeLimitAndOffset()
removeLimitAndOffset
in interface QueryBuilderInterface<V>
public QueryBuilder<V> orderBy(String orderBy)
"ORDER BY <property> [ASC | DESC]"
orderBy
in interface QueryBuilderInterface<V>
orderBy
- the statement order by without "ORDER BY"public QueryBuilder<V> withBindVariableValue(String key, V value)
Value
.withBindVariableValue
in interface QueryBuilderInterface<V>
key
- the value keyvalue
- the valuepublic QueryBuilder<V> withBindVariableValues(Map<String,V> values)
values
- the mappings of key to value of type public Map<String,V> getBindVariableMap()
getBindVariableMap
in interface QueryBuilderInterface<V>
protected void validateQuery()
public String buildQuery()
buildQuery
in interface QueryBuilderInterface<V>
Copyright © 2018. All Rights Reserved.