JDBC also contains an extension package, called javax.sql, which isn’t part of the core Java. JDBC driver vendors aren’t obliged to implement this package; their drivers will still be JDBC 3.0 compliant without it. javax.sql contains the following:
The class javax.sql.ConnectionEvent: Provides information about the source of a PooledConnection related event.
The interface javax.sql.ConnectionEventListener: An object that registers itself to receive events generated by a PooledConnection.
The interface javax.sql.ConnectionPoolDataSource: A factory for PooledConnection objects.
The interface javax.sql.DataSource: A factory for Connection objects.
The interface javax.sql.PooledConnection: A connection object that represents a physical connection to the database; it provides hooks for connection pool management.
The interface javax.sql.RowSet: Supports the JavaBeans component model in combination with the JDBC API.
The class javax.sql.RowSetEvent: Reflects changes in the state of a RowSet instance.
The interface javax.sql.RowSetInternal: Allows RowSet readers and writers to access and modify internal attributes of a RowSet.
The interface javax.sql.RowSetListener: Allows RowSets to call back methods in objects that are listening to changes within the RowSet.
The interface javax.sql.RowSetMetaData: Allows the driver to construct a ResultSetMetaData object for a RowSet.
The interface javax.sql.RowSetReader: Reads new content of a RowSet.
The interface javax.sql.RowSetWriter: Allows a database to reflect changes made in a RowSet.
The interface javax.sql.XAConnection: Allows the connection to participate in distributed transactions.
The interface javax.sql.XADataSource: A factory to create XAConnection objects.