javax.sql: JDBC interfaces

Derby implements a number of JDBC interfaces for Java EE compliance.

For more details about these interfaces, see the API documentation for your version of the Java Development Kit, which you can find at http://docs.oracle.com/javase/.
  • javax.sql.DataSource

    An interface that is a factory for connections to the physical data source that the object represents. An object that implements the DataSource interface will typically be registered with a naming service based on the Java Naming and Directory (JNDI) API. The org.apache.derby.jdbc DataSource classes support the JNDI API, with the exception of the DataSource classes that support Java SE 8 Compact Profile 2. See DataSource classes and JDBC support for Java SE 8 Compact Profiles for more information.

  • javax.sql.ConnectionPoolDataSource and javax.sql.PooledConnection

    Establishing a connection to the database can be a relatively expensive operation in client/server environments. Establishing the connection once and then using the same connection for multiple requests can dramatically improve the performance of a database.

    The Derby implementation of the ConnectionPoolDataSource and PooledConnection interfaces allows a connection pool server to maintain a set of such connections to the resource manager (Derby). In an embedded environment, connections are much cheaper and connection pooling is not necessary.

  • javax.sql.XAConnection

    An XAConnection produces an XAResource, and, over its lifetime, many Connections. This type of connection allows for distributed transactions.

  • javax.sql.XADataSource

    An XADataSource is simply a ConnectionPoolDataSource that produces XAConnections.

In addition, Derby provides three methods for XADataSource, DataSource, and ConnectionPoolDataSource. Derby supports a number of additional data source properties:

Note: Set these properties before getting the connection.
Related reference
The JTA API