public class JdbcQuery extends Object implements SqlQuery
For more info please see the Tutorials.
SqlQuery.SqlQueryRowProcessor| Modifier and Type | Field and Description |
|---|---|
(package private) static Pattern |
CALL |
(package private) Connection |
connection
The connection to the database.
|
(package private) Integer |
fetchSize
- * The fetch size of rows to retrieve in one SQL.
|
(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.
|
private static Map<String,Object> |
NO_MORE_DATA
The indicator there are no more data in ResultSet.
|
(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) SqlControl |
sqlControl
The compound parameters controlling the META SQL execution.
|
(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,
Class<?>... moreTypes)
Declares a scalar query result, which is an SQL query execution output value.
|
Map<String,Object> |
callFunction()
Executes the statements in the stored function, which return value of any type but the result set.
|
List<Map<String,Object>> |
callList(SqlRuntimeContext runtimeCtx)
Returns the stored procedure execution results as a List.
|
Map<String,Object> |
callUnique(SqlRuntimeContext runtimeCtx)
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(SqlRuntimeContext runtimeCtx)
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 Map<String,Object> |
getOneResult(ResultSet rs)
Gets the value of the designated columns for one database row as the object in the Java programming language.
|
protected Map<String,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<Map<String,Object>> |
getResults(ResultSet rs)
Gets the value of the designated columns as the objects in the Java programming language.
|
private boolean |
isSetJDBCIdentity() |
List<Map<String,Object>> |
list(SqlRuntimeContext runtimeCtx)
Returns the query results as a List.
|
protected SqlProcessorException |
newSqlProcessorException(SQLException ex,
String query) |
int |
query(SqlRuntimeContext runtimeCtx,
SqlQuery.SqlQueryRowProcessor sqlQueryRowProcessor)
Process the query output using the
SqlQuery.SqlQueryRowProcessor. |
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 |
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,
Class<?>... moreTypes)
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,
Class<?>... moreTypes)
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 |
setSqlControl(SqlControl sqlControl)
Sets the compound parameters controlling the META SQL execution.
|
Map<String,Object> |
unique(SqlRuntimeContext runtimeCtx)
Convenience method to return a single instance that matches the query, or null if the query returns no results.
|
int |
update(SqlRuntimeContext runtimeCtx)
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
SqlControl sqlControl
Integer timeout
Integer firstResult
Integer maxResults
Integer fetchSize
boolean ordered
boolean logError
private static final Map<String,Object> NO_MORE_DATA
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 setSqlControl(SqlControl sqlControl)
setSqlControl in interface SqlQuerysqlControl - the compound parameters controlling the META SQL executionpublic SqlQuery setOrdered(boolean ordered)
setOrdered in interface SqlQueryordered - the indicator the SQL output is sortedpublic List<Map<String,Object>> list(SqlRuntimeContext runtimeCtx) throws SqlProcessorException
list in interface SqlQueryruntimeCtx - the public runtime contextSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic Map<String,Object> unique(SqlRuntimeContext runtimeCtx) throws SqlProcessorException
unique in interface SqlQueryruntimeCtx - the public runtime contextSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic int query(SqlRuntimeContext runtimeCtx, SqlQuery.SqlQueryRowProcessor sqlQueryRowProcessor) throws SqlProcessorException
SqlQuery.SqlQueryRowProcessor.query in interface SqlQueryruntimeCtx - the public runtime contextsqlQueryRowProcessor - the callback designated to process every database rowSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic int update(SqlRuntimeContext runtimeCtx) throws SqlProcessorException
update in interface SqlQueryruntimeCtx - the public runtime contextSqlProcessorException - 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<Map<String,Object>> callList(SqlRuntimeContext runtimeCtx) throws SqlProcessorException
callList in interface SqlQueryruntimeCtx - the public runtime contextSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic Map<String,Object> callUnique(SqlRuntimeContext runtimeCtx) throws SqlProcessorException
callUnique in interface SqlQueryruntimeCtx - the public runtime contextSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic int callUpdate(SqlRuntimeContext runtimeCtx) throws SqlProcessorException
callUpdate in interface SqlQueryruntimeCtx - the public runtime contextSqlProcessorException - in the case of any problem in ORM or JDBC stackpublic Map<String,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, Class<?>... moreTypes)
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, Class<?>... moreTypes) 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, Class<?>... moreTypes) 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 Map<String,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<Map<String,Object>> getResults(ResultSet rs) throws SQLException
rs - an instance of ResultSetSQLException - if a database access error occurs or this method is called on a closed ResultSetprotected Map<String,Object> getOneResult(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 © 2017. All rights reserved.