Package com.im.commons.db.dml
Class SQLElementFactory
- java.lang.Object
-
- com.im.commons.db.dml.SQLElementFactory
-
- All Implemented Interfaces:
java.io.Serializable
public final class SQLElementFactory extends java.lang.Object implements java.io.Serializable- Author:
- Tim Dudgeon
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SQLElementFactory(DBDatabaseInfo dbInfo)SQLElementFactory(TermEncoder encoder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SQLWhereClauseCompositeElementcreateAndClause()static SQLWhereClauseCompositeElementcreateAndClause(SQLJoin join)static SQLWhereClauseCompositeElementcreateOrClause()static SQLWhereClauseCompositeElementcreateOrClause(SQLJoin join)SQLOrderByClausecreateOrderByClause(SortColumn[] sortCols)SQLSelectColumncreateSelectColumn(TableDefinition table, java.lang.String column, int jdbcType, SQLJoin join)SQLSelectFunctioncreateSelectFunction(TableDefinition table, java.lang.String functionSql, java.lang.String alias)SQLSelectStatementcreateSelectStatement()TableColumncreateTableColumn(TableDefinition table, java.lang.String column, int jdbcType)SQLWhereClauseElementcreateWhereClauseFreeformElement(TableDefinition table, java.lang.String freeformWhereFragment)SQLWhereClauseElementcreateWhereClauseInListElement(TableColumn tableColumn, java.lang.Object[] values)Create an in list where clause of type:
WHERE col IN (1,2,3...)
.SQLWhereClauseElementcreateWhereClauseInListElement(TableColumn tableColumn, java.util.Collection values)Create an in list where clause of type:
WHERE col IN (1,2,3...)
.SQLWhereClauseElementcreateWhereClauseNotInListElement(TableColumn tableColumn, java.lang.Object[] values)Create an in list where clause of type:
WHERE col NOT IN (1,2,3...)
.SQLWhereClauseElementcreateWhereClauseNotInListElement(TableColumn tableColumn, java.util.Collection values)Create an in list where clause of type:
WHERE col NOT IN (1,2,3...)
.SQLWhereClauseElementcreateWhereClauseTermElement(TableColumn tableColumn, SQLWhereClauseTermElement.SQL_OPERATORS operator)SQLWhereClauseElementcreateWhereClauseTermElement(TableColumn tableColumn, SQLWhereClauseTermElement.SQL_OPERATORS operator, int placeholders)SQLWhereClauseElementcreateWhereClauseTermElement(TableColumn tableColumn, SQLWhereClauseTermElement.SQL_OPERATORS operator, java.util.List<?> values)SQLWhereClauseElementcreateWhereClauseTermElement(TableColumn tableColumn1, TableColumn tableColumn2, SQLWhereClauseTermElement.SQL_OPERATORS operator)SQLSelectStatementsqlSelectDistinct(TableDefinition table, java.lang.String[] columnNames)SQLSelectStatementsqlSelectInList(java.util.List<SQLSelectElement> selectElements, TableColumn inClauseColumn, java.util.Collection<?> idValues)Creates a SQL SELECT statement in the formSELECT foo, bar FROM baz WHERE idClauseColumn IN (idValues).SQLSelectStatementsqlSelectPS(java.util.List<SQLSelectElement> selectElements, TableColumn whereTermColumn)Creates SQL for aPreparedStatementin the formSELECT foo, bar FROM baz WHERE whereTermColumn = ?.SQLSelectStatementsqlSelectPSmore(java.util.List<SQLSelectElement> selectElements, java.util.List<TableColumn> whereTermColumns)Creates SQL for aPreparedStatementin the formSELECT foo, bar FROM baz WHERE whereTermColumn1 = ? AND ... AND whereTermColumnN = ?.
-
-
-
Constructor Detail
-
SQLElementFactory
public SQLElementFactory(DBDatabaseInfo dbInfo)
-
SQLElementFactory
public SQLElementFactory(TermEncoder encoder)
-
-
Method Detail
-
createOrderByClause
public SQLOrderByClause createOrderByClause(SortColumn[] sortCols)
-
createAndClause
public static SQLWhereClauseCompositeElement createAndClause()
-
createOrClause
public static SQLWhereClauseCompositeElement createOrClause()
-
createAndClause
public static SQLWhereClauseCompositeElement createAndClause(SQLJoin join)
-
createOrClause
public static SQLWhereClauseCompositeElement createOrClause(SQLJoin join)
-
createSelectStatement
public SQLSelectStatement createSelectStatement()
-
createSelectFunction
public SQLSelectFunction createSelectFunction(TableDefinition table, java.lang.String functionSql, java.lang.String alias)
-
createSelectColumn
public SQLSelectColumn createSelectColumn(TableDefinition table, java.lang.String column, int jdbcType, SQLJoin join)
-
createTableColumn
public TableColumn createTableColumn(TableDefinition table, java.lang.String column, int jdbcType)
-
createWhereClauseTermElement
public SQLWhereClauseElement createWhereClauseTermElement(TableColumn tableColumn, SQLWhereClauseTermElement.SQL_OPERATORS operator, java.util.List<?> values)
-
createWhereClauseTermElement
public SQLWhereClauseElement createWhereClauseTermElement(TableColumn tableColumn, SQLWhereClauseTermElement.SQL_OPERATORS operator, int placeholders)
-
createWhereClauseTermElement
public SQLWhereClauseElement createWhereClauseTermElement(TableColumn tableColumn, SQLWhereClauseTermElement.SQL_OPERATORS operator)
-
createWhereClauseTermElement
public SQLWhereClauseElement createWhereClauseTermElement(TableColumn tableColumn1, TableColumn tableColumn2, SQLWhereClauseTermElement.SQL_OPERATORS operator)
-
createWhereClauseInListElement
public SQLWhereClauseElement createWhereClauseInListElement(TableColumn tableColumn, java.util.Collection values)
Create an in list where clause of type:
WHERE col IN (1,2,3...)
.- Parameters:
tableColumn- The column namevalues- A list of values for the list- Returns:
- The SQLInClause
-
createWhereClauseInListElement
public SQLWhereClauseElement createWhereClauseInListElement(TableColumn tableColumn, java.lang.Object[] values)
Create an in list where clause of type:
WHERE col IN (1,2,3...)
.- Parameters:
tableColumn- The column namevalues- An array of values for the list- Returns:
- The SQLInClause
-
createWhereClauseNotInListElement
public SQLWhereClauseElement createWhereClauseNotInListElement(TableColumn tableColumn, java.util.Collection values)
Create an in list where clause of type:
WHERE col NOT IN (1,2,3...)
.- Parameters:
tableColumn- The column namevalues- A list of values for the list- Returns:
- The SQLInClause
-
createWhereClauseNotInListElement
public SQLWhereClauseElement createWhereClauseNotInListElement(TableColumn tableColumn, java.lang.Object[] values)
Create an in list where clause of type:
WHERE col NOT IN (1,2,3...)
.- Parameters:
tableColumn- The column namevalues- An array of values for the list- Returns:
- The SQLInClause
-
sqlSelectInList
public SQLSelectStatement sqlSelectInList(java.util.List<SQLSelectElement> selectElements, TableColumn inClauseColumn, java.util.Collection<?> idValues)
Creates a SQL SELECT statement in the formSELECT foo, bar FROM baz WHERE idClauseColumn IN (idValues).- Parameters:
selectElements- The elements that the SELECT statement will return as a result.inClauseColumn- The column for the WHERE clause term constraint.idValues- The values constraining theinClauseColumn.- Returns:
- A
SQLSelectStatementsuitable for creating a SQL SELECT string.
-
sqlSelectPS
public SQLSelectStatement sqlSelectPS(java.util.List<SQLSelectElement> selectElements, TableColumn whereTermColumn)
Creates SQL for aPreparedStatementin the formSELECT foo, bar FROM baz WHERE whereTermColumn = ?. AllselectElementsandwhereTermColumnhave to refer to the sameTableDefinition.- Parameters:
selectElements- The elements that the SELECT statement will return as a result.whereTermColumn- The column for the WHERE clause term constraint.- Returns:
- A
SQLSelectStatementsuitable for creating aPreparedStatement.
-
sqlSelectPSmore
public SQLSelectStatement sqlSelectPSmore(java.util.List<SQLSelectElement> selectElements, java.util.List<TableColumn> whereTermColumns)
Creates SQL for aPreparedStatementin the formSELECT foo, bar FROM baz WHERE whereTermColumn1 = ? AND ... AND whereTermColumnN = ?. AllselectElementsandwhereTermColumnshave to refer to the sameTableDefinition.- Parameters:
selectElements- The elements that the SELECT statement will return as a result.whereTermColumns- The columns for the WHERE clause term constraints.- Returns:
- A
SQLSelectStatementsuitable for creating aPreparedStatement.
-
sqlSelectDistinct
public SQLSelectStatement sqlSelectDistinct(TableDefinition table, java.lang.String[] columnNames)
-
createWhereClauseFreeformElement
public SQLWhereClauseElement createWhereClauseFreeformElement(TableDefinition table, java.lang.String freeformWhereFragment)
-
-