JDBC4ServerPreparedStatement
Date: 2018-05-01

com.mysql.jdbc

## Class JDBC4ServerPreparedStatement

- java.lang.Object
- - com.mysql.jdbc.StatementImpl
  - - com.mysql.jdbc.PreparedStatement
    - - com.mysql.jdbc.ServerPreparedStatement
      - - com.mysql.jdbc.JDBC4ServerPreparedStatement

- All Implemented Interfaces:
    Wrapper, java.lang.AutoCloseable, java.sql.PreparedStatement, java.sql.Statement
  Direct Known Subclasses:
    JDBC42ServerPreparedStatement

      public class JDBC4ServerPreparedStatement
      extends ServerPreparedStatement

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.mysql.jdbc.ServerPreparedStatement

      `ServerPreparedStatement.BatchedBindValues, ServerPreparedStatement.BindValue`

    - ### Nested classes/interfaces inherited from class com.mysql.jdbc.PreparedStatement

      `PreparedStatement.AppendingBatchVisitor, PreparedStatement.BatchParams, PreparedStatement.BatchVisitor, PreparedStatement.EmulatedPreparedStatementBindings, PreparedStatement.EndPoint, PreparedStatement.ParseInfo`

    - ### Nested classes/interfaces inherited from class com.mysql.jdbc.StatementImpl

      `StatementImpl.CancelTask`

  - ### Field Summary

    - ### Fields inherited from class com.mysql.jdbc.ServerPreparedStatement

      `BLOB_STREAM_READ_BUF_SIZE, isCached`

    - ### Fields inherited from class com.mysql.jdbc.PreparedStatement

      `batchCommandIndex, batchedValuesClause, batchHasPlainStatements, firstCharOfStmt, isLoadDataQuery, isNull, numberOfExecutions, originalSql, parameterCount, parameterMetaData, parameterTypes, parseInfo, rewrittenBatchSize, serverSupportsFracSecs, useTrueBoolean, usingAnsiMode`

    - ### Fields inherited from class com.mysql.jdbc.StatementImpl

      `batchedArgs, batchedGeneratedKeys, cancelTimeoutMutex, charConverter, charEncoding, clearWarningsCalled, connection, connectionId, continueBatchOnError, currentCatalog, doEscapeProcessing, eventSink, generatedKeysResults, holdResultsOpenOverClose, isClosed, lastInsertId, lastQueryIsOnDupKeyUpdate, maxFieldSize, maxRows, ON_DUPLICATE_KEY_UPDATE_CLAUSE, openResults, pedantic, PING_MARKER, pingTarget, pointOfOrigin, profileSQL, results, resultSetConcurrency, resultSetType, retrieveGeneratedKeys, sendFractionalSeconds, statementCounter, statementExecuting, statementId, timeoutInMillis, updateCount, useLegacyDatetimeCode, USES_VARIABLES_FALSE, USES_VARIABLES_TRUE, USES_VARIABLES_UNKNOWN, useUsageAdvisor, version5013OrNewer, warningChain, wasCancelled, wasCancelledByTimeout`

    - ### Fields inherited from interface java.sql.Statement

      `CLOSE_ALL_RESULTS, CLOSE_CURRENT_RESULT, EXECUTE_FAILED, KEEP_CURRENT_RESULT, NO_GENERATED_KEYS, RETURN_GENERATED_KEYS, SUCCESS_NO_INFO`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JDBC4ServerPreparedStatement(MySQLConnection conn, java.lang.String sql, java.lang.String catalog, int resultSetType, int resultSetConcurrency)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `setNCharacterStream(int parameterIndex, java.io.Reader reader, long length)` JDBC 2.0 When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader.
    `void` | `setNClob(int parameterIndex, java.sql.NClob x)`
    `void` | `setNClob(int parameterIndex, java.io.Reader reader, long length)` JDBC 4.0 Set a NCLOB parameter.
    `void` | `setNString(int parameterIndex, java.lang.String x)` Set a parameter to a Java String value.
    `void` | `setRowId(int parameterIndex, java.sql.RowId x)`
    `void` | `setSQLXML(int parameterIndex, java.sql.SQLXML xmlObject)`

    - ### Methods inherited from class com.mysql.jdbc.ServerPreparedStatement

      `addBatch, asSql, canRewriteAsMultiValueInsertAtSqlLevel, canRewriteAsMultivalueInsertStatement, checkClosed, clearParameters, close, computeMaxParameterSetSizeAndBatchSize, containsOnDuplicateKeyUpdateInSQL, executeBatchSerially, executeInternal, fillSendPacket, fillSendPacket, getBinding, getBytes, getInstance, getLocationOfOnDuplicateKeyUpdate, getMetaData, getParameterBindValues, getParameterMetaData, getServerStatementId, isNull, isOnDuplicateKeyUpdate, prepareBatchedInsertSQL, realClose, rePrepare, setArray, setAsciiStream, setBigDecimal, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setClob, setClosed, setDate, setDate, setDouble, setFloat, setInt, setLong, setNull, setNull, setOneBatchedParameterSet, setRef, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setType, setUnicodeStream, setURL, toString`

    - ### Methods inherited from class com.mysql.jdbc.PreparedStatement

      `addBatch, asSql, canRewrite, checkBounds, checkReadOnlySafeStatement, clearBatch, computeBatchSize, detectFractionalSecondsSupport, execute, executeBatchedInserts, executeBatchInternal, executeLargeUpdate, executePreparedBatchAsMultiStatement, executeQuery, executeUpdate, executeUpdateInternal, executeUpdateInternal, getBytesRepresentation, getBytesRepresentationForBatch, getDateTime, getInstance, getInstance, getInstance, getNonRewrittenSql, getParameterBindings, getParameterIndexOffset, getParseInfo, getPreparedSql, getRewrittenBatchSize, getUpdateCount, getValuesClause, isSelectQuery, readFully, setAsciiStream, setAsciiStream, setBinaryStream, setBinaryStream, setBlob, setBlob, setBytes, setBytesNoEscape, setBytesNoEscapeNoQuotes, setCharacterStream, setCharacterStream, setClob, setClob, setInternal, setInternal, setNCharacterStream, setNClob, setObject, setObject, setObject, setRetrieveGeneratedKeys`

    - ### Methods inherited from class com.mysql.jdbc.StatementImpl

      `cancel, checkForDml, checkNullOrEmptyQuery, clearWarnings, closeAllOpenResults, closeOnCompletion, containsOnDuplicateKeyInString, createStreamingResultSet, disableStreamingResults, doPingInstead, enableStreamingResults, execute, execute, execute, execute, executeBatch, executeLargeBatch, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeLargeUpdate, executeQuery, executeSimpleNonQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, executeUpdateInternal, findStartOfStatement, generatePingResultSet, getBatchedArgs, getBatchedGeneratedKeys, getBatchedGeneratedKeys, getCalendarInstanceForSessionOrNew, getConnection, getExceptionInterceptor, getFetchDirection, getFetchSize, getGeneratedKeys, getGeneratedKeysInternal, getGeneratedKeysInternal, getId, getLargeMaxRows, getLargeUpdateCount, getLastInsertID, getLocalInfileInputStream, getLongUpdateCount, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getOnDuplicateKeyLocation, getOpenResultSetCount, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetInternal, getResultSetType, getWarnings, handleExceptionForBatch, hasDeadlockOrTimeoutRolledBackTx, implicitlyCloseAllOpenResults, isClosed, isCloseOnCompletion, isPoolable, isWrapperFor, processMultiCountsAndKeys, removeOpenResultSet, resetCancelledState, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setHoldResultsOpenOverClose, setLargeMaxRows, setLocalInfileInputStream, setMaxFieldSize, setMaxRows, setPingTarget, setPoolable, setQueryTimeout, setResultSetConcurrency, setResultSetType, setupStreamingTimeout, statementBegins, unwrap`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.sql.Statement

      `cancel, clearWarnings, closeOnCompletion, execute, execute, execute, execute, executeBatch, executeQuery, executeUpdate, executeUpdate, executeUpdate, executeUpdate, getConnection, getFetchDirection, getFetchSize, getGeneratedKeys, getMaxFieldSize, getMaxRows, getMoreResults, getMoreResults, getQueryTimeout, getResultSet, getResultSetConcurrency, getResultSetHoldability, getResultSetType, getWarnings, isClosed, isCloseOnCompletion, isPoolable, setCursorName, setEscapeProcessing, setFetchDirection, setFetchSize, setMaxFieldSize, setMaxRows, setPoolable, setQueryTimeout`

    - ### Methods inherited from interface java.sql.Wrapper

      `isWrapperFor, unwrap`

- - ### Constructor Detail

    - #### JDBC4ServerPreparedStatement

          public JDBC4ServerPreparedStatement(MySQLConnection conn,
                                      java.lang.String sql,
                                      java.lang.String catalog,
                                      int resultSetType,
                                      int resultSetConcurrency)
                                       throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

  - ### Method Detail

    - #### setNCharacterStream

          public void setNCharacterStream(int parameterIndex,
                                 java.io.Reader reader,
                                 long length)
                                   throws java.sql.SQLException

      Description copied from class: `PreparedStatement`
      JDBC 2.0 When a very large UNICODE value is input to a LONGVARCHAR parameter, it may be more practical to send it via a java.io.Reader. JDBC will read the data from the stream as needed, until it reaches end-of-file. The JDBC driver will do any necessary conversion from UNICODE to the database char format.

      Note: This stream object can either be a standard Java stream object or your own subclass that implements the standard interface.

      Specified by:
        `setNCharacterStream` in interface `java.sql.PreparedStatement`
      Overrides:
        `setNCharacterStream` in class `PreparedStatement`
      Parameters:
        `parameterIndex` - the first parameter is 1, the second is 2, ...
        `reader` - the java reader which contains the UNICODE data
        `length` - the number of characters in the stream
      Throws:
        `java.sql.SQLException` - if a database-access error occurs.
      See Also:
        `PreparedStatement.setNCharacterStream(int, java.io.Reader, long)`

    - #### setNClob

          public void setNClob(int parameterIndex,
                      java.sql.NClob x)
                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`
      See Also:
        `PreparedStatement.setNClob(int, java.sql.NClob)`

    - #### setNClob

          public void setNClob(int parameterIndex,
                      java.io.Reader reader,
                      long length)
                        throws java.sql.SQLException

      JDBC 4.0 Set a NCLOB parameter.
      Specified by:
        `setNClob` in interface `java.sql.PreparedStatement`
      Overrides:
        `setNClob` in class `PreparedStatement`
      Parameters:
        `parameterIndex` - the first parameter is 1, the second is 2, ...
        `reader` - the java reader which contains the UNICODE data
        `length` - the number of characters in the stream
      Throws:
        `java.sql.SQLException` - if a database error occurs

    - #### setNString

          public void setNString(int parameterIndex,
                        java.lang.String x)
                          throws java.sql.SQLException

      Description copied from class: `PreparedStatement`
      Set a parameter to a Java String value. The driver converts this to a SQL VARCHAR or LONGVARCHAR value with introducer _utf8 (depending on the arguments size relative to the driver's limits on VARCHARs) when it sends it to the database. If charset is set as utf8, this method just call setString.
      Specified by:
        `setNString` in interface `java.sql.PreparedStatement`
      Overrides:
        `setNString` in class `PreparedStatement`
      Parameters:
        `parameterIndex` - the first parameter is 1...
        `x` - the parameter value
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      See Also:
        `PreparedStatement.setNString(int, java.lang.String)`

    - #### setRowId

          public void setRowId(int parameterIndex,
                      java.sql.RowId x)
                        throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`

    - #### setSQLXML

          public void setSQLXML(int parameterIndex,
                       java.sql.SQLXML xmlObject)
                         throws java.sql.SQLException

      Throws:
        `java.sql.SQLException`