JDBC (Java Database Connectivity) is the standard Java API for connecting to and querying relational databases, giving Java applications a uniform, driver-based interface for issuing SQL and processing results across many different database engines.
JDBC
JDBC (Java Database Connectivity) is the standard Java API for talking to relational databases. It defines a uniform, driver-based interface so a Java application can open a connection, send SQL statements, and read back result sets without hard-coding the details of any single database engine. Swap the driver and the same code runs against PostgreSQL, MySQL, Oracle, or SQL Server.
- A driver model - Each database ships a JDBC driver that translates the standard calls into that engine’s wire protocol.
- A SQL-oriented surface -
Connection,Statement,PreparedStatement, andResultSetcover the full query, update, and transaction lifecycle. - Portability across engines - Application logic is written once against the API, not against a proprietary client library.
- Connection pooling and transactions - The specification carries the primitives that production data access and pooling libraries build on.
In API operations, JDBC usually sits behind the scenes, one layer beneath the web APIs that most consumers actually touch. A service exposes clean HTTP or GraphQL endpoints while JDBC does the work of reaching the underlying database. I have long argued that direct JDBC access should stay inside the trust boundary and that everything crossing organizational or partner lines should go through a governed API instead — JDBC gives you raw database reach, but an OpenAPI-described interface gives you the contract, versioning, and access control that agents and integrations now depend on.
Referenced on the API Evangelist blog
Where this standard shows up across sixteen years of my writing at apievangelist.com — how it fits into API design, governance, and the agentic turn.