No caso do Java, para evitar que cada banco tenha a sua própria API e conjunto de classes e métodos, temos um único conjunto de interfaces muito bem definidas que devem ser implementadas. Esse conjunto de interfaces fica dentro do pacote “java.sql” e nos referiremos a ela como JDBC.
Esse conjunto de interfaces padronizadas pela API JDBC necessita ser implementado em classes concretas cuja finalidade é a de prover uma ponte entre o código cliente que usa a API JDBC e o SGBD propriamente dito. São essas classes que sabem se comunicar através do protocolo proprietário do banco de dados. Esse conjunto de classes recebe o nome de driver. Todos os principais bancos de dados do mercado possuem drivers JDBC para que você possa utilizá-los com Java. O nome driver é análogo ao que usamos para impressoras, por exemplo. Como é impossível que um sistema operacional saiba conversar com todo tipo de impressora existente, precisamos de um driver que faça o papel de "tradutor" dessa conversa.
Os programas escritos em Java se comunicam com os bancos de dados para fins de manipulação de seu conteúdo por meio do driver JDBC. O driver JDBC é um componente de software que permite aos aplicativos Java realizarem diversos tipos de queries tais como: select, insert, delete, update, dentre outras. Na maioria das vezes, o driver JDBC é utilizado para permitir a conexão do aplicativo Java aos bancos de dados relacionais.