public class ServerSidePreparedStatement extends BasePrepareStatement implements Cloneable
Modifier and Type | Field and Description |
---|---|
protected int |
parameterCount |
autoGeneratedKeys, hasLongData, SPEC_ISO_ZONED_DATE_TIME
canUseServerTimeout, closed, connection, executing, fetchSize, lock, maxRows, options, protocol, queryTimeout, results, resultSetConcurrency, resultSetScrollType
CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO
Constructor and Description |
---|
ServerSidePreparedStatement(MariaDbConnection connection,
String sql,
int resultSetScrollType,
int resultSetConcurrency,
int autoGeneratedKeys)
Constructor for creating Server prepared statement.
|
Modifier and Type | Method and Description |
---|---|
void |
addBatch() |
void |
addBatch(String sql)
Add batch.
|
void |
clearBatch()
Empties this
Statement object's current list of SQL send. |
void |
clearParameters() |
ServerSidePreparedStatement |
clone(MariaDbConnection connection)
Clone statement.
|
void |
close()
Releases this
Statement object's database and JDBC resources immediately
instead of waiting for this to happen when it is automatically closed. |
boolean |
execute() |
int[] |
executeBatch()
Submits a batch of send to the database for execution and if all send execute successfully,
returns an array of update counts.
|
protected boolean |
executeInternal(int fetchSize) |
long[] |
executeLargeBatch()
Execute batch, like executeBatch(), with returning results with long[].
|
ResultSet |
executeQuery() |
int |
executeUpdate() |
ResultSetMetaData |
getMetaData() |
protected int |
getParameterCount() |
ParameterMetaData |
getParameterMetaData()
Retrieves the number, types and properties of this
PreparedStatement object's
parameters. |
long |
getServerThreadId()
Permit to retrieve current connection thread id, or -1 if unknown.
|
void |
setParameter(int parameterIndex,
ParameterHolder holder) |
String |
toString()
Return sql String value.
|
protected void |
validParameters() |
executeLargeUpdate, setArray, setAsciiStream, setAsciiStream, setAsciiStream, setBigDecimal, setBinaryStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setCharacterStream, setCharacterStream, setClob, setClob, setClob, setDate, setDate, setDouble, setFloat, setInt, setLong, setNCharacterStream, setNCharacterStream, setNClob, setNClob, setNClob, setNString, setNull, setNull, setNull, setObject, setObject, setObject, setObject, setObject, setRef, setRowId, setShort, setSQLXML, setString, setTime, setTime, setTimestamp, setTimestamp, setUnicodeStream, setURL
cancel, checkClose, checkCloseOnCompletion, clearWarnings, closeOnCompletion, execute, execute, execute, execute, executeBatchEpilogue, executeBatchExceptionEpilogue, executeEpilogue, executeExceptionEpilogue, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeQueryPrologue, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setLocalInfileInputStream, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout, setTimerTask, skipMoreResults, testExecute, unwrap
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
cancel, clearWarnings, closeOnCompletion, execute, execute, execute, execute, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getLargeMaxRows, getLargeUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getUpdateCount, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setLargeMaxRows, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout
isWrapperFor, unwrap
public ServerSidePreparedStatement(MariaDbConnection connection, String sql, int resultSetScrollType, int resultSetConcurrency, int autoGeneratedKeys) throws SQLException
connection
- current connectionsql
- Sql String to prepareresultSetScrollType
- one of the following ResultSet
constants:
ResultSet.TYPE_FORWARD_ONLY
,
ResultSet.TYPE_SCROLL_INSENSITIVE
, or
ResultSet.TYPE_SCROLL_SENSITIVE
resultSetConcurrency
- a concurrency type; one of ResultSet.CONCUR_READ_ONLY
or
ResultSet.CONCUR_UPDATABLE
autoGeneratedKeys
- a flag indicating whether auto-generated keys should be returned;
one of
Statement.RETURN_GENERATED_KEYS
or Statement.NO_GENERATED_KEYS
SQLException
- exceptionpublic ServerSidePreparedStatement clone(MariaDbConnection connection) throws CloneNotSupportedException
clone
in class BasePrepareStatement
connection
- connectionCloneNotSupportedException
- if any error occur.public void setParameter(int parameterIndex, ParameterHolder holder) throws SQLException
setParameter
in class BasePrepareStatement
SQLException
public void addBatch() throws SQLException
addBatch
in interface PreparedStatement
SQLException
public void addBatch(String sql) throws SQLException
addBatch
in interface Statement
addBatch
in class MariaDbStatement
sql
- typically this is a SQL INSERT
or UPDATE
statementSQLException
- every time since that method is forbidden on prepareStatementMariaDbStatement.executeBatch()
,
DatabaseMetaData.supportsBatchUpdates()
public void clearBatch()
MariaDbStatement
Statement
object's current list of SQL send.clearBatch
in interface Statement
clearBatch
in class MariaDbStatement
MariaDbStatement.addBatch(java.lang.String)
,
DatabaseMetaData.supportsBatchUpdates()
public ParameterMetaData getParameterMetaData() throws SQLException
BasePrepareStatement
PreparedStatement
object's
parameters.getParameterMetaData
in interface PreparedStatement
getParameterMetaData
in class BasePrepareStatement
ParameterMetaData
object that contains information about the number,
types and properties for each parameter marker of this PreparedStatement
objectSQLException
- if a database access error occurs or this method is called on a closed
PreparedStatement
ParameterMetaData
public ResultSetMetaData getMetaData() throws SQLException
getMetaData
in interface PreparedStatement
SQLException
public int[] executeBatch() throws SQLException
Submits a batch of send to the database for execution and if all send execute successfully,
returns an array of update counts. The int
elements of the array that is returned
are ordered to correspond to the send in the batch, which are ordered according to the order in
which they were added to the batch. The elements in the array returned by the method
executeBatch
may be one of the following:
SUCCESS_NO_INFO
-- indicates that the command was processed
successfully but that the number of rows affected is unknown. If one of the send in a batch
update fails to execute properly, this method throws a
BatchUpdateException
, and a JDBC driver may or may not continue to process the
remaining send in the batch. However, the driver's behavior must be consistent with a
particular DBMS, either always continuing to process send or never continuing to process send.
If the driver continues processing after a failure, the array returned by the method
BatchUpdateException.getUpdateCounts
will contain as many elements as there are
send in the batch, and at least one of the elements will be the following:
EXECUTE_FAILED
-- indicates that the command failed to execute
successfully and occurs only if a driver continues to process send after a command fails The possible implementations and return values have been modified in the Java 2 SDK,
Standard Edition, version 1.3 to accommodate the option of continuing to proccess send in a
batch update after a
BatchUpdateException
object has been thrown.
executeBatch
in interface Statement
executeBatch
in class MariaDbStatement
SQLException
- if a database access error occurs, this method is called on a closed
Statement
or the driver does not support batch statements.
Throws BatchUpdateException
(a subclass of
SQLException
) if one of the send sent to the database fails
to execute properly or attempts to return a result set.addBatch()
,
DatabaseMetaData.supportsBatchUpdates()
public long[] executeLargeBatch() throws SQLException
executeLargeBatch
in interface Statement
executeLargeBatch
in class MariaDbStatement
SQLException
- if a database error occur.public ResultSet executeQuery() throws SQLException
executeQuery
in interface PreparedStatement
SQLException
public int executeUpdate() throws SQLException
executeUpdate
in interface PreparedStatement
SQLException
public void clearParameters()
clearParameters
in interface PreparedStatement
public boolean execute() throws SQLException
execute
in interface PreparedStatement
SQLException
protected void validParameters() throws SQLException
SQLException
protected boolean executeInternal(int fetchSize) throws SQLException
executeInternal
in class BasePrepareStatement
SQLException
public void close() throws SQLException
Releases this Statement
object's database and JDBC resources immediately
instead of waiting for this to happen when it is automatically closed. It is generally good
practice to release resources as soon as you are finished with them to avoid tying up database
resources.
Calling the method close
on a Statement
object that is already
closed has no effect.
Note:When a Statement
object is closed, its current
ResultSet
object, if one
exists, is also closed.
close
in interface AutoCloseable
close
in interface Statement
close
in class MariaDbStatement
SQLException
- if a database access error occursprotected int getParameterCount()
public String toString()
public long getServerThreadId()
getServerThreadId
in class MariaDbStatement
Copyright © 2019 mariadb.org. All rights reserved.