public class JdbcQuery extends Object implements SqlQuery
For more info please see the Tutorials.
| Modifier and Type | Field and Description |
|---|---|
(package private) static Pattern |
CALL |
(package private) Connection |
connection
The connection to the database.
|
(package private) Integer |
firstResult
The first row to retrieve.
|
(package private) List<String> |
identities
The collection of all (auto-generated) identities.
|
(package private) Map<String,IdentitySetter> |
identitySetters
The collection of all identities setters.
|
(package private) Map<String,Object> |
identityTypes
The collection of all identities types.
|
(package private) boolean |
logError
The failed SQL command should be logged.
|
(package private) org.slf4j.Logger |
logger
The internal slf4j logger.
|
(package private) Integer |
maxResults
The maximum number of rows to retrieve.
|
(package private) boolean |
ordered
The SQL output is sorted.
|
(package private) Map<String,OutValueSetter> |
parameterOutValueSetters
The collection of all parameters output value setters.
|
(package private) Map<Integer,Integer> |
parameterOutValuesToPickup
The collection of all parameters, which have to be picked-up.
|
(package private) Map<String,Object> |
parameterOutValueTypes
The collection of all parameters types for output values.
|
(package private) List<String> |
parameters
The collection of all parameters (input value declarations).
|
(package private) Map<String,Object> |
parameterTypes
The collection of all parameters types.
|
(package private) Map<String,Object> |
parameterValues
The collection of all parameters values.
|
(package private) String |
queryString
The SQL query/statement command.
|
(package private) List<String> |
scalars
The collection of all scalars (output values declarations).
|
(package private) Map<String,Object> |
scalarTypes
The collection of all scalars types.
|
(package private) Integer |
timeout
A timeout for the underlying query.
|
| Constructor and Description |
|---|
JdbcQuery(Connection connection,
String queryString)
Creates a new instance of this adapter.
|
| Modifier and Type | Method and Description |
|---|---|
SqlQuery |
addScalar(String columnAlias)
Declares a scalar query result, which is an SQL query execution output value.
|
SqlQuery |
addScalar(String columnAlias,
Object type)
Declares a scalar query result, which is an SQL query execution output value.
|
Object |
callFunction()
Executes the statements in the stored function, which return value of any type but the result set.
|
List |
callList()
Returns the stored procedure execution results as a List.
|
Object |
callUnique()
Convenience method to return a single instance that matches the stored procedure execution, or null if the stored
procedure execution returns no results.
|
int |
callUpdate()
Executes the update, delete, insert statement or other statements in the stored procedure, which don't return the
result set.
|
protected void |
doIdentitySelect(String identityName)
Runs the select to obtain the value of auto-generated identity.
|
int[] |
executeBatch(String[] statements)
Submits a batch of commands to the database for execution and if all commands execute successfully, returns an
array of update counts.
|
protected void |
getGeneratedKeys(String identityName,
Statement statement)
Retrieves the value of auto-generated identity from executed prepared statement.
|
protected Object |
getParameters(CallableStatement cs,
boolean isFunction)
Gets the value of the designated OUT parameters.
|
Object |
getQuery()
Returns the internal representation of this query.
|
protected List |
getResults(ResultSet rs)
Gets the value of the designated columns as the objects in the Java programming language.
|
private boolean |
isSetJDBCIdentity() |
List |
list()
Returns the query results as a List.
|
protected SqlProcessorException |
newSqlProcessorException(SQLException ex,
String query) |
SqlQuery |
setFirstResult(int firstResult)
Sets the first row to retrieve.
|
protected int |
setLimits(PreparedStatement ps,
SqlFromToPlugin.LimitType limitType,
int ix,
boolean afterSql)
Sets the limit related parameters.
|
void |
setLogError(boolean logError)
Sets an indicator the failed SQL command should be logged
|
SqlQuery |
setMaxResults(int maxResults)
Sets the maximum number of rows to retrieve.
|
SqlQuery |
setOrdered(boolean ordered)
Sets the indicator the SQL output is sorted.
|
SqlQuery |
setParameter(String name,
Object val)
Binds a value to a named query parameter.
|
SqlQuery |
setParameter(String name,
Object val,
Object type)
Binds a value to a named query parameter.
|
SqlQuery |
setParameterList(String name,
Object[] vals)
Binds multiple values to a named query parameter.
|
SqlQuery |
setParameterList(String name,
Object[] vals,
Object type)
Binds multiple values to a named query parameter.
|
protected void |
setParameters(PreparedStatement ps,
SqlFromToPlugin.LimitType limitType,
int start)
Sets the value of the designated parameters.
|
SqlQuery |
setTimeout(int timeout)
Sets a timeout for the underlying query.
|
Object |
unique()
Convenience method to return a single instance that matches the query, or null if the query returns no results.
|
int |
update()
Executes the update, delete or insert statement.
|
final org.slf4j.Logger logger
Connection connection
String queryString
Map<String,Object> parameterOutValueTypes
Map<String,OutValueSetter> parameterOutValueSetters
Map<Integer,Integer> parameterOutValuesToPickup
Map<String,IdentitySetter> identitySetters
Integer timeout
Integer firstResult
Integer maxResults
boolean ordered
boolean logError
static final Pattern CALL
public JdbcQuery(Connection connection, String queryString)
connection - the connection to the databasequeryString - the SQL query/statement commandpublic Object getQuery()
public SqlQuery setTimeout(int timeout)
setTimeout in interface SqlQuerytimeout - the timeout in secondspublic SqlQuery setFirstResult(int firstResult)
setFirstResult in interface SqlQueryfirstResult - a row number, numbered from 0public SqlQuery setMaxResults(int maxResults)
setMaxResults in interface SqlQuerymaxResults - the maximum number of rowspublic SqlQuery setOrdered(boolean ordered)
setOrdered in interface SqlQueryordered - the indicator the SQL output is sortedpublic List list() throws SqlProcessorException
list in interface SqlQuerySqlProcessorException - in the case of any problem in ORM or JDBC stackpublic Object unique() throws SqlProcessorException
unique in interface SqlQuerySqlProcessorException - in the case of any problem in ORM or JDBC stackpublic int update()
throws SqlProcessorException
update in interface SqlQuerySqlProcessorException - in the case of any problem in ORM or JDBC stackprivate boolean isSetJDBCIdentity()
protected void getGeneratedKeys(String identityName, Statement statement)
identityName - the identity name from the META SQL statementstatement - statement to retrieve auto-generated keys fromprotected void doIdentitySelect(String identityName)
identityName - the identity name from the META SQL statementpublic List callList() throws SqlProcessorException
callList in interface SqlQuerySqlProcessorException - in the case of any problem in ORM or JDBC stackpublic Object callUnique() throws SqlProcessorException
callUnique in interface SqlQuerySqlProcessorException - in the case of any problem in ORM or JDBC stackpublic int callUpdate()
throws SqlProcessorException
callUpdate in interface SqlQuerySqlProcessorException - in the case of any problem in ORM or JDBC stackpublic Object callFunction() throws SqlProcessorException
callFunction in interface SqlQuerySqlProcessorException - in the case of any problem in ORM or JDBC stackpublic SqlQuery addScalar(String columnAlias)
public SqlQuery addScalar(String columnAlias, Object type)
public SqlQuery setParameter(String name, Object val) throws SqlProcessorException
setParameter in interface SqlQueryname - the name of the parameterval - the not-null parameter valueSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic SqlQuery setParameter(String name, Object val, Object type) throws SqlProcessorException
setParameter in interface SqlQueryname - the name of the parameterval - the possibly-null parameter valuetype - the (META) type of the parameterSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic SqlQuery setParameterList(String name, Object[] vals) throws SqlProcessorException
setParameterList in interface SqlQueryname - the name of the parametervals - a collection of valuesSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic SqlQuery setParameterList(String name, Object[] vals, Object type) throws SqlProcessorException
setParameterList in interface SqlQueryname - the name of the parametervals - a collection of valuestype - the (META) type of the parameterSqlProcessorException - in the case of any problem in ORM or JDBC stackprotected void setParameters(PreparedStatement ps, SqlFromToPlugin.LimitType limitType, int start) throws SQLException, SqlProcessorException
ps - an instance of PreparedStatementlimitType - the limit type to restrict the number of rows in the result setstart - the index of the first parameter to bind to prepared statementSQLException - if a database access error occurs or this method is called on a closed PreparedStatementSqlProcessorExceptionprotected int setLimits(PreparedStatement ps, SqlFromToPlugin.LimitType limitType, int ix, boolean afterSql) throws SQLException
ps - an instance of PreparedStatementlimitType - the limit type to restrict the number of rows in the result setix - a column indexafterSql - an indicator it's done after the main SQL statement executionSQLException - if a database access error occurs or this method is called on a closed PreparedStatementprotected Object getParameters(CallableStatement cs, boolean isFunction) throws SQLException
cs - an instance of CallableStatementSQLException - if a database access error occurs or this method is called on a closed CallableStatementprotected List getResults(ResultSet rs) throws SQLException
rs - an instance of ResultSetSQLException - if a database access error occurs or this method is called on a closed ResultSetpublic int[] executeBatch(String[] statements) throws SqlProcessorException
executeBatch in interface SqlQuerystatements - SQL statements to be executed in batchSqlProcessorException - in the case of any problem in ORM or JDBC stackprotected SqlProcessorException newSqlProcessorException(SQLException ex, String query)
public void setLogError(boolean logError)
setLogError in interface SqlQuerylogError - an indicator the failed SQL command should be loggedCopyright © 2014. All Rights Reserved.