|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjodd.db.DbQuery
public class DbQuery
Encapsulates Statement and all its operations.
It may be:
DbSession;DbThreadSession i.e. ThreadDbSessionHolder.Query life-cycle states:
| Field Summary | |
|---|---|
static int |
CLOSE_CURSORS_AT_COMMIT
|
static int |
CONCUR_READ_ONLY
|
static int |
CONCUR_UPDATABLE
|
protected int |
concurrencyType
|
protected java.sql.Connection |
connection
|
protected boolean |
debug
|
static int |
DEFAULT_HOLDABILITY
Default holdability. |
protected int |
fetchSize
|
protected boolean |
forcePreparedStatement
If set to true all created statements will be prepared. |
protected java.lang.String[] |
generatedColumns
|
static int |
HOLD_CURSORS_OVER_COMMIT
|
protected int |
holdability
|
protected int |
maxRows
|
protected java.sql.PreparedStatement |
preparedStatement
|
protected jodd.db.DbQueryParser |
query
|
static int |
QUERY_CLOSED
|
static int |
QUERY_CREATED
|
static int |
QUERY_INITIALIZED
|
protected int |
queryState
|
protected java.util.Set<java.sql.ResultSet> |
resultSets
|
protected DbSession |
session
|
protected java.lang.String |
sqlString
|
protected java.sql.Statement |
statement
|
protected static int |
totalOpenResultSetCount
|
protected int |
type
|
static int |
TYPE_FORWARD_ONLY
|
static int |
TYPE_SCROLL_INSENSITIVE
|
static int |
TYPE_SCROLL_SENSITIVE
|
| Constructor Summary | |
|---|---|
DbQuery(java.sql.Connection conn,
java.lang.String sqlString)
Creates new query, |
|
DbQuery(DbSession session,
java.lang.String sqlString)
Creates a new query from DbSession. |
|
DbQuery(java.lang.String sqlString)
Creates a new query using defualt session provider. |
|
| Method Summary | |
|---|---|
protected void |
checkCreated()
Checks if query is created (and not yet initialized or closed) and throws an exception if it is not. |
protected void |
checkInitialized()
Checks if query is initialized and throws an exception if it is not. |
protected void |
checkNotClosed()
Checks if query is not closed and throws an exception if it is. |
void |
clearParameters()
Clears the current parameter values immediately. |
void |
close()
Closes the query and all created results sets and detaches itself from the session. |
void |
closeAllResultSets()
Closes all result sets created by this query. |
void |
closeCursorsAtCommit()
|
protected java.util.List<java.sql.SQLException> |
closeQuery()
Closes all assigned result sets and then closes the query. |
void |
closeResultSet(java.sql.ResultSet rs)
Closes single result set that was created by this query, It is not necessary to close result sets explicitly, since DbQueryBase.close() method closes all created result sets. |
void |
concurReadOnly()
|
void |
concurUpdatable()
|
java.sql.ResultSet |
execute()
Executes the query. |
long |
executeCount()
Special execute() for 'select count(*)' queries. |
protected long |
executeCount(boolean close)
Executes count queries and optionally closes query afterwards. |
long |
executeCountAndClose()
Executes count queries and closes afterwards. |
int |
executeUpdate()
Executes UPDATE, INSERT or DELETE queries. |
protected int |
executeUpdate(boolean closeQuery)
Executes UPDATE, INSERT or DELETE queries and optionally closes the query. |
int |
executeUpdateAndClose()
Executes UPDATE, INSERT or DELETE queries and closes query afterwards. |
void |
forcePreparedStatement()
Forces creation of prepared statements. |
int |
getConcurrencyType()
|
int |
getFetchSize()
|
java.lang.String[] |
getGeneratedColumnNames()
Returns generated column names. |
java.sql.ResultSet |
getGeneratedColumns()
Returns generated columns. |
long |
getGeneratedKey()
Returns generated key i.e. first genereted column as long. |
int |
getHoldability()
|
int |
getMaxRows()
|
int |
getOpenResultSetCount()
Returns number of created result sets that are still not explicitly closed. |
int |
getQueryState()
Returns query state. |
java.lang.String |
getQueryString()
Returns query SQL string. |
static int |
getTotalOpenResultSetCount()
Returns total number of open result sets. |
int |
getType()
|
void |
holdCursorsOverCommit()
|
void |
init()
Initializes the query if not already initialized. |
protected void |
initializeJdbc()
Performs JDBC initialization of the query. |
boolean |
isActive()
Returns true if query is active: created and possibly initialized. |
boolean |
isClosed()
Returns true if query is closed. |
boolean |
isInDebugMode()
|
boolean |
isInitialized()
Returns true if query is initialized. |
protected void |
prepareQuery()
Prepares the query just after the initialization. |
void |
resetGeneratedColumns()
Resets creating generated columns. |
protected void |
saveResultSet(java.sql.ResultSet rs)
Stores result set. |
void |
setArray(int index,
java.sql.Array value)
|
void |
setArray(java.lang.String param,
java.sql.Array value)
|
void |
setAsciiStream(int index,
jodd.io.AsciiInputStream stream)
|
void |
setAsciiStream(int index,
java.io.InputStream stream,
int lenght)
|
void |
setAsciiStream(java.lang.String param,
jodd.io.AsciiInputStream stream)
|
void |
setAsciiStream(java.lang.String param,
java.io.InputStream stream,
int lenght)
|
void |
setBean(java.lang.String beanName,
java.lang.Object bean)
Sets bean parameters from bean. |
void |
setBigDecimal(int index,
java.math.BigDecimal value)
|
void |
setBigDecimal(java.lang.String param,
java.math.BigDecimal value)
|
void |
setBigInteger(int index,
java.math.BigInteger value)
|
void |
setBigInteger(java.lang.String param,
java.math.BigInteger value)
|
void |
setBlob(int index,
java.sql.Blob value)
|
void |
setBlob(java.lang.String param,
java.sql.Blob value)
|
void |
setBoolean(int index,
boolean value)
|
void |
setBoolean(int index,
java.lang.Boolean value)
|
void |
setBoolean(java.lang.String param,
boolean value)
|
void |
setBoolean(java.lang.String param,
java.lang.Boolean value)
|
void |
setByte(int index,
byte value)
|
void |
setByte(int index,
java.lang.Number value)
|
void |
setByte(java.lang.String param,
byte value)
|
void |
setByte(java.lang.String param,
java.lang.Number value)
|
void |
setBytes(int index,
byte[] value)
|
void |
setBytes(java.lang.String param,
byte[] value)
|
void |
setCharacterStream(int index,
java.io.Reader reader,
int lenght)
|
void |
setCharacterStream(java.lang.String param,
java.io.Reader reader,
int lenght)
|
void |
setClob(int index,
java.sql.Clob value)
|
void |
setClob(java.lang.String param,
java.sql.Clob value)
|
void |
setConcurrencyType(int concurrencyType)
|
void |
setDate(int index,
java.sql.Date value)
|
void |
setDate(java.lang.String param,
java.sql.Date value)
|
void |
setDebug(boolean debug)
|
void |
setDebugMode()
|
void |
setDouble(int index,
double value)
|
void |
setDouble(int index,
java.lang.Number value)
|
void |
setDouble(java.lang.String param,
double value)
|
void |
setDouble(java.lang.String param,
java.lang.Number value)
|
void |
setFetchSize(int rows)
Gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are needed. |
void |
setFloat(int index,
float value)
|
void |
setFloat(int index,
java.lang.Number value)
|
void |
setFloat(java.lang.String param,
float value)
|
void |
setFloat(java.lang.String param,
java.lang.Number value)
|
void |
setGeneratedColumns(java.lang.String... columns)
Specifies columns which values will be generated by database. |
void |
setGeneratedKey()
Specifies that database will generate some columns values, usually the single id. |
void |
setHoldability(int holdability)
|
void |
setInteger(int index,
int value)
|
void |
setInteger(int index,
java.lang.Number value)
|
void |
setInteger(java.lang.String param,
int value)
|
void |
setInteger(java.lang.String param,
java.lang.Number value)
|
void |
setLong(int index,
long value)
|
void |
setLong(int index,
java.lang.Number value)
|
void |
setLong(java.lang.String param,
long value)
|
void |
setLong(java.lang.String param,
java.lang.Number value)
|
void |
setMap(java.util.Map parameters)
Sets properties from the map. |
void |
setMaxRows(int maxRows)
Sets the limit for the maximum number of rows that any ResultSet object can contain to the given number. |
void |
setNull(int index,
int type)
|
void |
setNull(int index,
int type,
java.lang.String typeName)
|
void |
setNull(java.lang.String param,
int type)
|
void |
setNull(java.lang.String param,
int value,
java.lang.String typeName)
|
void |
setObject(int index,
java.lang.Object value)
|
void |
setObject(int index,
java.lang.Object value,
java.lang.Class<? extends SqlType> sqlTypeClass,
int dbSqlType)
Sets object parameter in an advanced way. |
void |
setObject(int index,
java.lang.Object object,
int targetSqlType)
Sets the value of the designated parameter with the given object. |
void |
setObject(java.lang.String param,
java.lang.Object value)
|
void |
setObject(java.lang.String param,
java.lang.Object value,
java.lang.Class<? extends SqlType> sqlTypeClass,
int dbSqlType)
|
void |
setObject(java.lang.String param,
java.lang.Object object,
int targetSqlType)
Sets the value of the designated parameter with the given object. |
void |
setObjects(java.lang.Object... objects)
Sets an array of objects parameters in given order. |
void |
setObjects(java.lang.String[] names,
java.lang.Object[] values)
Sets sql parameters from two arrays: names and values. |
void |
setRef(int index,
java.sql.Ref value)
|
void |
setRef(java.lang.String param,
java.sql.Ref value)
|
void |
setShort(int index,
java.lang.Number value)
|
void |
setShort(int index,
short value)
|
void |
setShort(java.lang.String param,
java.lang.Number value)
|
void |
setShort(java.lang.String param,
short value)
|
void |
setString(int index,
java.lang.String value)
|
void |
setString(java.lang.String param,
java.lang.String value)
|
void |
setTime(int index,
java.sql.Time value)
|
void |
setTime(java.lang.String param,
java.sql.Time value)
|
void |
setTimestamp(int index,
java.sql.Timestamp value)
|
void |
setTimestamp(java.lang.String param,
java.sql.Timestamp value)
|
void |
setType(int type)
|
void |
setURL(int index,
java.net.URL value)
|
void |
setURL(java.lang.String param,
java.net.URL value)
|
java.lang.String |
toString()
|
void |
typeForwardOnly()
|
void |
typeScrollInsensitive()
|
void |
typeScrollSensitive()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int QUERY_CREATED
public static final int QUERY_INITIALIZED
public static final int QUERY_CLOSED
protected int queryState
protected java.sql.Connection connection
protected DbSession session
protected java.lang.String sqlString
protected java.sql.Statement statement
protected java.sql.PreparedStatement preparedStatement
protected java.util.Set<java.sql.ResultSet> resultSets
protected jodd.db.DbQueryParser query
protected boolean forcePreparedStatement
true all created statements will be prepared.
public static final int TYPE_FORWARD_ONLY
ResultSet.TYPE_FORWARD_ONLY,
Constant Field Valuespublic static final int TYPE_SCROLL_SENSITIVE
ResultSet.TYPE_SCROLL_SENSITIVE,
Constant Field Valuespublic static final int TYPE_SCROLL_INSENSITIVE
ResultSet.TYPE_SCROLL_INSENSITIVE,
Constant Field Valuesprotected int type
public static final int CONCUR_READ_ONLY
ResultSet.CONCUR_READ_ONLY,
Constant Field Valuespublic static final int CONCUR_UPDATABLE
ResultSet.CONCUR_UPDATABLE,
Constant Field Valuesprotected int concurrencyType
public static final int DEFAULT_HOLDABILITY
public static final int CLOSE_CURSORS_AT_COMMIT
ResultSet.CLOSE_CURSORS_AT_COMMIT,
Constant Field Valuespublic static final int HOLD_CURSORS_OVER_COMMIT
ResultSet.HOLD_CURSORS_OVER_COMMIT,
Constant Field Valuesprotected int holdability
protected boolean debug
protected java.lang.String[] generatedColumns
protected int fetchSize
protected int maxRows
protected static int totalOpenResultSetCount
| Constructor Detail |
|---|
public DbQuery(java.sql.Connection conn,
java.lang.String sqlString)
public DbQuery(DbSession session, java.lang.String sqlString)
DbSession.
public DbQuery(java.lang.String sqlString)
| Method Detail |
|---|
public void clearParameters()
In general, parameter values remain in force for repeated use of a
statement. Setting a parameter value automatically clears its
previous value. However, in some cases it is useful to immediately
release the resources used by the current parameter values; this can
be done by calling the method clearParameters.
s
public void setNull(int index,
int type)
public void setNull(java.lang.String param,
int type)
public void setNull(int index,
int type,
java.lang.String typeName)
public void setNull(java.lang.String param,
int value,
java.lang.String typeName)
public void setInteger(int index,
int value)
public void setInteger(java.lang.String param,
int value)
public void setInteger(int index,
java.lang.Number value)
public void setInteger(java.lang.String param,
java.lang.Number value)
public void setBoolean(int index,
boolean value)
public void setBoolean(java.lang.String param,
boolean value)
public void setBoolean(int index,
java.lang.Boolean value)
public void setBoolean(java.lang.String param,
java.lang.Boolean value)
public void setLong(int index,
long value)
public void setLong(java.lang.String param,
long value)
public void setLong(int index,
java.lang.Number value)
public void setLong(java.lang.String param,
java.lang.Number value)
public void setByte(int index,
byte value)
public void setByte(java.lang.String param,
byte value)
public void setByte(int index,
java.lang.Number value)
public void setByte(java.lang.String param,
java.lang.Number value)
public void setBytes(int index,
byte[] value)
public void setBytes(java.lang.String param,
byte[] value)
public void setDouble(int index,
double value)
public void setDouble(java.lang.String param,
double value)
public void setDouble(int index,
java.lang.Number value)
public void setDouble(java.lang.String param,
java.lang.Number value)
public void setFloat(int index,
float value)
public void setFloat(java.lang.String param,
float value)
public void setFloat(int index,
java.lang.Number value)
public void setFloat(java.lang.String param,
java.lang.Number value)
public void setShort(int index,
short value)
public void setShort(java.lang.String param,
short value)
public void setShort(int index,
java.lang.Number value)
public void setShort(java.lang.String param,
java.lang.Number value)
public void setString(int index,
java.lang.String value)
public void setString(java.lang.String param,
java.lang.String value)
public void setDate(int index,
java.sql.Date value)
public void setDate(java.lang.String param,
java.sql.Date value)
public void setTime(int index,
java.sql.Time value)
public void setTime(java.lang.String param,
java.sql.Time value)
public void setTimestamp(int index,
java.sql.Timestamp value)
public void setTimestamp(java.lang.String param,
java.sql.Timestamp value)
public void setBigDecimal(int index,
java.math.BigDecimal value)
public void setBigDecimal(java.lang.String param,
java.math.BigDecimal value)
public void setBigInteger(int index,
java.math.BigInteger value)
public void setBigInteger(java.lang.String param,
java.math.BigInteger value)
public void setURL(int index,
java.net.URL value)
public void setURL(java.lang.String param,
java.net.URL value)
public void setBlob(int index,
java.sql.Blob value)
public void setBlob(java.lang.String param,
java.sql.Blob value)
public void setClob(int index,
java.sql.Clob value)
public void setClob(java.lang.String param,
java.sql.Clob value)
public void setArray(int index,
java.sql.Array value)
public void setArray(java.lang.String param,
java.sql.Array value)
public void setRef(int index,
java.sql.Ref value)
public void setRef(java.lang.String param,
java.sql.Ref value)
public void setAsciiStream(int index,
jodd.io.AsciiInputStream stream)
public void setAsciiStream(java.lang.String param,
jodd.io.AsciiInputStream stream)
public void setAsciiStream(int index,
java.io.InputStream stream,
int lenght)
public void setAsciiStream(java.lang.String param,
java.io.InputStream stream,
int lenght)
public void setCharacterStream(int index,
java.io.Reader reader,
int lenght)
public void setCharacterStream(java.lang.String param,
java.io.Reader reader,
int lenght)
public void setBean(java.lang.String beanName,
java.lang.Object bean)
public void setMap(java.util.Map parameters)
public void setObject(int index,
java.lang.Object object,
int targetSqlType)
setObject
above, except that it assumes a scale of zero.
public void setObject(java.lang.String param,
java.lang.Object object,
int targetSqlType)
setObject
above, except that it assumes a scale of zero.
public void setObject(int index,
java.lang.Object value)
public void setObject(int index,
java.lang.Object value,
java.lang.Class<? extends SqlType> sqlTypeClass,
int dbSqlType)
First, it checks if object is null and invokes setNull if so.
If object is not null, it tries to resolve sql type (by looking up
or using provided class) and use it for setting data.
If sql type is not found, default setObject is invoked.
public void setObject(java.lang.String param,
java.lang.Object value)
public void setObject(java.lang.String param,
java.lang.Object value,
java.lang.Class<? extends SqlType> sqlTypeClass,
int dbSqlType)
public void setObjects(java.lang.Object... objects)
public void setObjects(java.lang.String[] names,
java.lang.Object[] values)
public int getQueryState()
protected void checkNotClosed()
protected void checkCreated()
protected void checkInitialized()
public boolean isClosed()
true if query is closed.
public boolean isActive()
true if query is active: created and possibly initialized.
Opened query may be not initialized.
public boolean isInitialized()
true if query is initialized. Initialized query is the one that has
created JDBC statements.
protected void saveResultSet(java.sql.ResultSet rs)
public void forcePreparedStatement()
public final void init()
protected void initializeJdbc()
protected void prepareQuery()
public void closeAllResultSets()
protected java.util.List<java.sql.SQLException> closeQuery()
public void close()
public void closeResultSet(java.sql.ResultSet rs)
DbQueryBase.close() method closes all created result sets.
Query remains active.
public int getType()
public void setType(int type)
public void typeForwardOnly()
public void typeScrollSensitive()
public void typeScrollInsensitive()
public int getConcurrencyType()
public void setConcurrencyType(int concurrencyType)
public void concurReadOnly()
public void concurUpdatable()
public int getHoldability()
public void setHoldability(int holdability)
public void holdCursorsOverCommit()
public void closeCursorsAtCommit()
public boolean isInDebugMode()
public void setDebug(boolean debug)
public void setDebugMode()
public java.lang.String[] getGeneratedColumnNames()
public void setGeneratedColumns(java.lang.String... columns)
public void setGeneratedKey()
public void resetGeneratedColumns()
public int getFetchSize()
public void setFetchSize(int rows)
Statement.setFetchSize(int)public int getMaxRows()
public void setMaxRows(int maxRows)
Statement.setMaxRows(int)public java.sql.ResultSet execute()
DbQueryBase.closeResultSet(ResultSet)
оr implicitly, during DbQueryBase.close().
Statement.execute(String)public int executeUpdate()
Statement.executeUpdate(String)public int executeUpdateAndClose()
Statement.executeUpdate(String)protected int executeUpdate(boolean closeQuery)
Statement.executeUpdate(String)public long executeCount()
-1.
public long executeCountAndClose()
protected long executeCount(boolean close)
public java.sql.ResultSet getGeneratedColumns()
public long getGeneratedKey()
long.
public java.lang.String getQueryString()
public java.lang.String toString()
toString in class java.lang.ObjectgetQueryString()public static int getTotalOpenResultSetCount()
getOpenResultSetCount()public int getOpenResultSetCount()
getTotalOpenResultSetCount()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||