|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.j256.ormlite.stmt.StatementBuilder<T,ID>
T
- The class that the code will be operating on.ID
- The class of the ID column associated with the class. The T class does not require an ID field. The class
needs an ID parameter however so you can use Void or Object to satisfy the compiler.public abstract class StatementBuilder<T,ID>
Assists in building of SQL statements for a particular table in a particular database.
Nested Class Summary | |
---|---|
static class |
StatementBuilder.StatementInfo
Class which wraps information about a statement including the arguments and the generated SQL statement string. |
static class |
StatementBuilder.StatementType
Types of statements that we are building. |
Field Summary | |
---|---|
protected boolean |
addTableName
|
protected Dao<T,ID> |
dao
|
protected DatabaseType |
databaseType
|
protected TableInfo<T,ID> |
tableInfo
|
protected String |
tableName
|
protected StatementBuilder.StatementType |
type
|
protected Where<T,ID> |
where
|
Constructor Summary | |
---|---|
StatementBuilder(DatabaseType databaseType,
TableInfo<T,ID> tableInfo,
Dao<T,ID> dao,
StatementBuilder.StatementType type)
|
Method Summary | |
---|---|
protected abstract void |
appendStatementEnd(StringBuilder sb,
List<ArgumentHolder> argList)
Append the end of our statement string to the StringBuilder. |
protected abstract void |
appendStatementStart(StringBuilder sb,
List<ArgumentHolder> argList)
Append the start of our statement string to the StringBuilder. |
protected void |
appendStatementString(StringBuilder sb,
List<ArgumentHolder> argList)
Internal method to build a query while tracking various arguments. |
protected void |
appendWhereStatement(StringBuilder sb,
List<ArgumentHolder> argList,
boolean first)
Append the WHERE part of the statement to the StringBuilder. |
protected String |
buildStatementString(List<ArgumentHolder> argList)
|
void |
clear()
Clear out all of the statement settings so we can reuse the builder. |
protected FieldType[] |
getResultFieldTypes()
Get the result array from our statement after the appendStatementStart(StringBuilder, List) was called. |
protected MappedPreparedStmt<T,ID> |
prepareStatement(Long limit)
Prepare our statement for the subclasses. |
StatementBuilder.StatementInfo |
prepareStatementInfo()
Build and return all of the information about the prepared statement. |
String |
prepareStatementString()
Build and return a string version of the query. |
void |
setWhere(Where<T,ID> where)
Set the Where object on the query. |
protected boolean |
shouldPrependTableNameToColumns()
Return true if we need to prepend table-name to columns. |
protected FieldType |
verifyColumnName(String columnName)
Verify the columnName is valid and return its FieldType. |
Where<T,ID> |
where()
Returns a Where object that should be used to add SQL where clauses to the statement. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final TableInfo<T,ID> tableInfo
protected final String tableName
protected final DatabaseType databaseType
protected final Dao<T,ID> dao
protected StatementBuilder.StatementType type
protected boolean addTableName
protected Where<T,ID> where
Constructor Detail |
---|
public StatementBuilder(DatabaseType databaseType, TableInfo<T,ID> tableInfo, Dao<T,ID> dao, StatementBuilder.StatementType type)
Method Detail |
---|
public Where<T,ID> where()
Where
object that should be used to add SQL where clauses to the statement. This will also
reset the where object so you can use the same query builder with a different where statement.
public void setWhere(Where<T,ID> where)
Where
object on the query. This allows someone to use the same Where object on multiple queries.
protected MappedPreparedStmt<T,ID> prepareStatement(Long limit) throws SQLException
limit
- Limit for queries. Can be null if none.
SQLException
public String prepareStatementString() throws SQLException
SQLException
public StatementBuilder.StatementInfo prepareStatementInfo() throws SQLException
StatementBuilder.StatementInfo
for more details.
SQLException
public void clear()
protected String buildStatementString(List<ArgumentHolder> argList) throws SQLException
SQLException
protected void appendStatementString(StringBuilder sb, List<ArgumentHolder> argList) throws SQLException
prepareStatementString()
method instead.
This needs to be protected because of (WARNING: DO NOT MAKE A JAVADOC LINK) InternalQueryBuilder (WARNING: DO NOT MAKE A JAVADOC LINK).
SQLException
protected abstract void appendStatementStart(StringBuilder sb, List<ArgumentHolder> argList) throws SQLException
SQLException
protected void appendWhereStatement(StringBuilder sb, List<ArgumentHolder> argList, boolean first) throws SQLException
SQLException
protected abstract void appendStatementEnd(StringBuilder sb, List<ArgumentHolder> argList) throws SQLException
SQLException
protected boolean shouldPrependTableNameToColumns()
protected FieldType[] getResultFieldTypes()
appendStatementStart(StringBuilder, List)
was called.
This will be null except for the QueryBuilder.
protected FieldType verifyColumnName(String columnName)
IllegalArgumentException
- if the column name is not valid.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |