Derby comes with a built-in JDBC driver.
That makes the JDBC API the only API for working with Derby databases. The driver is a native-protocol fully Java technology-enabled driver (Type 4 of the types described under "JDBC Architecture" in http://www.oracle.com/technetwork/java/overview-141217.html).
This section provides reference information about Derby's implementation of the JDBC API and documents the way it conforms to the JDBC 3.0 and 4.0 APIs.
See the Derby Developer's Guide for task-oriented instructions on working with the driver.
This JDBC driver implements the standard JDBC interfaces. When invoked from an application running in the same Java Virtual Machine (JVM) as Derby, the JDBC driver supports connections to a Derby database in embedded mode. No network transport is required to access the database. In client/server mode, the client application dispatches JDBC requests to the JDBC server over a network; the server, in turn, which runs in the same JVM as Derby, sends requests to Derby through the embedded JDBC driver.
The Derby JDBC implementation provides access to Derby databases and supplies all the required JDBC interfaces. Unimplemented aspects of the JDBC driver return an SQLException with a message stating "Feature not implemented" and an SQLState of XJZZZ. These unimplemented parts are for features not supported by Derby.