public class DBQuery
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
DBQuery.AndClause |
static interface |
DBQuery.Clause
A clause that requires parameters to be added to the prepared statement
|
static interface |
DBQuery.Column |
static class |
DBQuery.OrClause |
static class |
DBQuery.Param |
static class |
DBQuery.RawClause |
static interface |
DBQuery.RowToObject<T> |
static interface |
DBQuery.SQLClause
An arbitrary part of a SQL query, that knows how to append itself into a larger query.
|
static interface |
DBQuery.StreamingHandler |
Modifier and Type | Field and Description |
---|---|
static DBQuery.RowToObject<java.lang.Integer> |
TO_INT
Pulls the first column out of each row as an integer
|
static DBQuery.RowToObject<java.lang.String> |
TO_STRING
Pulls the first column out of each row as a string
|
Constructor and Description |
---|
DBQuery(java.lang.String q)
Create a new query
|
DBQuery(java.lang.String q,
DatabaseVendor vendor) |
Modifier and Type | Method and Description |
---|---|
DBQuery |
addGroupBy(java.lang.String column) |
DBQuery |
addOrderBy(java.lang.String column,
boolean ascending) |
DBQuery |
addOrWhereClause(DBQuery.Clause... clauses) |
DBQuery |
addReturnColumn(java.lang.String column,
SQLType type) |
DBQuery |
addTable(java.lang.String tableName) |
DBQuery |
addTableJoin(java.lang.String table1,
java.lang.String table1Alias,
java.lang.String table2,
java.lang.String table2Alias,
java.lang.String expr) |
DBQuery |
addWhereClause(DBQuery.Clause c) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
equal(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
equal(java.lang.String column,
java.lang.Object value,
SQLType type) |
java.util.List<java.util.List<java.lang.Object>> |
execute(java.sql.Connection con) |
<T> java.util.List<T> |
execute(java.sql.Connection con,
boolean closeConnectionAfter,
DBQuery.RowToObject<T> handler) |
void |
execute(java.sql.Connection con,
DBQuery.StreamingHandler handler)
Executes the query represented by this DBQuery, calling the streaming handler's
DBQuery.StreamingHandler.onRow(int, ResultSet) function on every row returned be the
ResultSet. |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
ge(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
ge(java.lang.String column,
java.lang.Object value,
SQLType type) |
DBQuery.Param[] |
getParams() |
java.lang.String |
getQuoteChar() |
java.lang.String |
getSQL() |
java.util.List<DBQuery.Clause> |
getWhereClauses() |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
gt(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
gt(java.lang.String column,
java.lang.Object value,
SQLType type) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
hasFlag(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
hasFlag(java.lang.String column,
java.lang.Object value,
SQLType type) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
isnotnull(java.lang.String column) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
isnull(java.lang.String column) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
le(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
le(java.lang.String column,
java.lang.Object value,
SQLType type) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
like(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
like(java.lang.String column,
java.lang.Object value,
SQLType type) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
lt(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
lt(java.lang.String column,
java.lang.Object value,
SQLType type) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
notequal(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
notequal(java.lang.String column,
java.lang.Object value,
SQLType type) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
notFlag(java.lang.String column,
java.lang.Object value) |
com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator |
notFlag(java.lang.String column,
java.lang.Object value,
SQLType type) |
void |
setCurrentTableAlias(java.lang.String value)
Sets the alias that will be used by subsequent calls to functions that add column based elements.
|
public static final DBQuery.RowToObject<java.lang.String> TO_STRING
public static final DBQuery.RowToObject<java.lang.Integer> TO_INT
public DBQuery(java.lang.String q)
q
- The column quote characterpublic DBQuery(java.lang.String q, DatabaseVendor vendor)
public java.lang.String getQuoteChar()
public void setCurrentTableAlias(java.lang.String value)
value
- public java.util.List<java.util.List<java.lang.Object>> execute(java.sql.Connection con) throws java.sql.SQLException
java.sql.SQLException
public void execute(java.sql.Connection con, DBQuery.StreamingHandler handler) throws java.sql.SQLException
DBQuery.StreamingHandler.onRow(int, ResultSet)
function on every row returned be the
ResultSet. Closes the connection afterwards.con
- handler
- java.sql.SQLException
public <T> java.util.List<T> execute(java.sql.Connection con, boolean closeConnectionAfter, DBQuery.RowToObject<T> handler) throws java.sql.SQLException
java.sql.SQLException
public DBQuery addTable(java.lang.String tableName)
public DBQuery addTableJoin(java.lang.String table1, java.lang.String table1Alias, java.lang.String table2, java.lang.String table2Alias, java.lang.String expr)
public DBQuery addWhereClause(DBQuery.Clause c)
public java.util.List<DBQuery.Clause> getWhereClauses()
public DBQuery addOrWhereClause(DBQuery.Clause... clauses)
public DBQuery addGroupBy(java.lang.String column)
public DBQuery addOrderBy(java.lang.String column, boolean ascending)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator equal(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator equal(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator notequal(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator notequal(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator gt(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator gt(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator ge(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator ge(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator lt(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator lt(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator le(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator le(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator hasFlag(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator hasFlag(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator notFlag(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator notFlag(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator like(java.lang.String column, java.lang.Object value)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator like(java.lang.String column, java.lang.Object value, SQLType type)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator isnull(java.lang.String column)
public com.inductiveautomation.ignition.gateway.datasource.query.DBQuery.Operator isnotnull(java.lang.String column)
public java.lang.String getSQL()
public DBQuery.Param[] getParams()