## Package com.mysql.jdbc

Interface Summary
AuthenticationPlugin: Implementors of this interface can be installed via the "authenticationPlugins" configuration property.
BalanceStrategy: Implement this interface to provide a new load balancing strategy for URLs of the form "jdbc:mysql:loadbalance://
CacheAdapter<K,V>
CacheAdapterFactory<K,V>
Connection: This interface contains methods that are considered the "vendor extension" to the JDBC API for MySQL's implementation of java.sql.Connection.
ConnectionLifecycleInterceptor: Implementors of this interface can be installed via the "connectionLifecycleInterceptors" configuration property and receive events and alter behavior of "lifecycle" methods on our connection implementation.
ConnectionProperties
ConnectionPropertiesTransform: Implement this interface, and pass the class name as the 'propertiesTransform' property in your JDBC URL, and the driver will pass the properties it has parsed to your transform implementation so that you can modify/substitute/add any that you desire.
ExceptionInterceptor
Extension
JDBC4ClientInfoProvider: Classes that implement this interface and provide a no-args constructor can be used by the driver to store and retrieve client information and/or labels.
JDBC4MySQLConnection
LoadBalanceExceptionChecker
MySQLConnection
OutputStreamWatcher: Objects that want to be notified of lifecycle events on a WatchableOutputStream should implement this interface, and register themselves with setWatcher() on the WatchableOutputStream instance.
ParameterBindings: Interface to allow PreparedStatement implementations to expose their parameter bindings to StatementInterceptors.
PingTarget
PreparedStatement.BatchVisitor
ResultSetInternalMethods: This interface is intended to be used by implementors of statement interceptors so that implementors can create static or dynamic (via java.lang.reflect.Proxy) proxy instances of ResultSets.
RowData: This interface abstracts away how row data is accessed by the result set.
SocketFactory: Interface to allow pluggable socket creation in the driver
SocketMetadata
Statement: This interface contains methods that are considered the "vendor extension" to the JDBC API for MySQL's implementation of java.sql.Statement.
StatementInterceptor: Implement this interface to be placed "in between" query execution, so that you can influence it.
StatementInterceptorV2
StreamingNotifiable
WriterWatcher: Objects that want to be notified of lifecycle events on a WatchableWriter should implement this interface, and register themselves with setWatcher() on the WatchableWriter instance.

Class Summary
AbandonedConnectionCleanupThread
BestResponseTimeBalanceStrategy
Blob: The representation (mapping) in the JavaTM programming language of an SQL BLOB value.
BlobFromLocator: The representation (mapping) in the JavaTM programming language of an SQL BLOB value.
Buffer: Buffer contains code to read and write packets from/to the MySQL server.
BufferRow: A RowHolder implementation that holds one row packet (which is re-used by the driver, and thus saves memory allocations), and tries when possible to avoid allocations to break out the results as individual byte[]s.
ByteArrayRow: A RowHolder implementation that is for cached results (a-la mysql_store_result()).
CachedResultSetMetaData
CallableStatement: Representation of stored procedures for JDBC
CallableStatement.CallableStatementParam
CharsetMapping: Mapping between MySQL charset names and Java charset names.
Clob: Simplistic implementation of java.sql.Clob for MySQL Connector/J
Collation
CompressedInputStream: Used to de-compress packets from the MySQL server when protocol-level compression is turned on.
ConnectionGroup
ConnectionGroupManager
ConnectionImpl: A Connection represents a session with a specific database.
ConnectionImpl.CompoundCacheKey: Used as a key for caching callable statements which (may) depend on current catalog...In 5.0.x, they don't (currently), but stored procedure names soon will, so current catalog is a (hidden) component of the name.
ConnectionPropertiesImpl: Represents configurable properties for Connections and DataSources.
Constants: Represents various constants used in the driver.
DatabaseMetaData: JDBC Interface to Mysql functions This class provides information about the database as a whole.
DatabaseMetaDataUsingInfoSchema: DatabaseMetaData implementation that uses INFORMATION_SCHEMA available in MySQL-5.0 and newer.
DocsConnectionPropsHelper
Driver: The Java SQL framework allows for multiple database drivers.
EscapeProcessor
EscapeProcessorResult: Wraps output from EscapeProcessor, to help prevent multiple passes over the query string, to detect characters such as '@' (defining/using a variable), which are used further up the call stack to handle failover.
EscapeTokenizer: EscapeTokenizer breaks up an SQL statement into SQL and escape code parts.
ExportControlled: Holds functionality that falls under export-control regulations.
FailoverConnectionProxy
Field: Field is a class used to describe fields in a ResultSet
IterateBlock<T>
JDBC4CallableStatement
JDBC4ClientInfoProviderSP
JDBC4CommentClientInfoProvider: An implementation of JDBC4ClientInfoProvider that exposes the client info as a comment prepended to all statements issued by the driver.
JDBC4Connection
JDBC4DatabaseMetaData
JDBC4DatabaseMetaDataUsingInfoSchema
JDBC4LoadBalancedMySQLConnection
JDBC4MysqlSQLXML
JDBC4NClob: Simplistic implementation of java.sql.NClob for MySQL Connector/J
JDBC4PreparedStatement
JDBC4PreparedStatementHelper
JDBC4ResultSet
JDBC4ServerPreparedStatement
JDBC4UpdatableResultSet
LicenseConfiguration: Used in commercially-licensed clients that require connections to commercially-licensed servers as part of the licensing terms.
LoadBalancedAutoCommitInterceptor
LoadBalancedMySQLConnection
LoadBalancingConnectionProxy: An implementation of java.sql.Connection that load balances requests across a series of MySQL JDBC connections, where the balancing takes place at transaction commit.
Messages: Support for localized messages.
MiniAdmin: Utility functions for admin functionality from Java.
MysqlDefs: MysqlDefs contains many values that are needed for communication with the MySQL server.
MysqlErrorNumbers: Constants representing MySQL error numbers returned by the server in error messages.
MysqlIO: This class is used by Connection for communicating with the MySQL server.
MysqlParameterMetadata
MysqlSavepoint: Represents SQL SAVEPOINTS in MySQL.
NamedPipeSocketFactory: A socket factory for named pipes (on Windows)
NdbLoadBalanceExceptionChecker
NetworkResources
NonRegisteringDriver: The Java SQL framework allows for multiple database drivers.
NonRegisteringDriver.ConnectionPhantomReference
NonRegisteringReplicationDriver: Driver that opens two connections, one two a replication master, and another to one or more slaves, and decides to use master when the connection is not read-only, and use slave(s) when the connection is read-only.
NoSubInterceptorWrapper: Wraps statement interceptors during driver startup so that they don't produce different result sets than we expect.
PerConnectionLRUFactory
PerVmServerConfigCacheFactory
PreparedStatement: A SQL Statement is pre-compiled and stored in a PreparedStatement object.
ProfilerEventHandlerFactory
RandomBalanceStrategy
ReflectiveStatementInterceptorAdapter
ReplicationConnection: Connection that opens two connections, one two a replication master, and another to one or more slaves, and decides to use master when the connection is not read-only, and use slave(s) when the connection is read-only.
ReplicationDriver: The Java SQL framework allows for multiple database drivers.
ResultSetImpl: A ResultSet provides access to a table of data generated by executing a Statement.
ResultSetMetaData: A ResultSetMetaData object can be used to find out about the types and properties of the columns in a ResultSet
ResultSetRow: Classes that implement this interface represent one row of data from the MySQL server that might be stored in different ways depending on whether the result set was streaming (so they wrap a reusable packet), or whether the result set was cached or via a server-side cursor (so they represent a byte[][]).
RowDataCursor: Model for result set data backed by a cursor.
RowDataDynamic: Allows streaming of MySQL data.
RowDataStatic: Represents an in-memory result set
Security: Methods for doing secure authentication with MySQL-4.1 and newer.
SequentialBalanceStrategy: A balancing strategy that starts at a random point, and then advances in the list (wrapping around) for each new pickConnection() call.
ServerPreparedStatement: JDBC Interface for MySQL-4.1 and newer server-side PreparedStatements.
ServerPreparedStatement.BatchedBindValues
ServerPreparedStatement.BindValue
SingleByteCharsetConverter: Converter for char[]->byte[] and byte[]->char[] for single-byte character sets.
SQLError: SQLError is a utility class that maps MySQL error codes to X/Open error codes as is required by the JDBC spec.
StandardLoadBalanceExceptionChecker
StandardSocketFactory: Socket factory for vanilla TCP/IP sockets (the standard)
StatementImpl: A Statement object is used for executing a static SQL statement and obtaining the results produced by it.
StringUtils: Various utility methods for converting to/from byte arrays in the platform encoding
TimeUtil: Timezone conversion routines
UpdatableResultSet: A result set that is updatable.
Util: Various utility methods for the driver.
V1toV2StatementInterceptorAdapter
VersionedStringProperty
WatchableOutputStream: A java.io.OutputStream used to write ASCII data into Blobs and Clobs
WatchableWriter: A java.io.Writer used to write unicode data into Blobs and Clobs

Exception Summary
AssertionFailedException: Assertions for empty code paths that should never be executed.
CommunicationsException: An exception to represent communications errors with the database.
ConnectionFeatureNotAvailableException: Thrown when a client requests a connection-level feature that isn't available for this particular distribution of Connector/J (currently only used by code that is export-controlled).
MysqlDataTruncation: MySQL wrapper for DataTruncation until the server can support sending all needed information.
NotImplemented: Thrown from methods not required to be implemented.
NotUpdatable: Thrown when a result sate is not updatable
OperationNotSupportedException
PacketTooBigException: Thrown when a packet that is too big for the server is created.