JDBC - Introdução

O que é JDBC?

JDBC significa Java Database Conectivity, que é uma API Java padrão para conectividade independente de banco de dados entre a linguagem de programação Java e uma ampla variedade de bancos de dados.

A biblioteca JDBC inclui APIs para cada uma das tarefas mencionadas abaixo que são comumente associadas ao uso do banco de dados.

  • Fazendo uma conexão com um banco de dados.

  • Criação de instruções SQL ou MySQL.

  • Execução de consultas SQL ou MySQL no banco de dados.

  • Visualizando e modificando os registros resultantes.

Fundamentalmente, JDBC é uma especificação que fornece um conjunto completo de interfaces que permite acesso portátil a um banco de dados subjacente. Java pode ser usado para escrever diferentes tipos de executáveis, como -

  • Aplicativos Java

  • Applets Java

  • Servlets Java

  • Java ServerPages (JSPs)

  • Enterprise JavaBeans (EJBs).

Todos esses diferentes executáveis ​​são capazes de usar um driver JDBC para acessar um banco de dados e aproveitar os dados armazenados.

O JDBC fornece os mesmos recursos do ODBC, permitindo que os programas Java contenham código independente do banco de dados.

Pré-Requisito

Antes de prosseguir, você precisa ter um bom entendimento dos seguintes dois assuntos -

  • Programação Core JAVA

  • Banco de dados SQL ou MySQL

Arquitetura JDBC

A API JDBC suporta modelos de processamento de duas e três camadas para acesso ao banco de dados, mas, em geral, a Arquitetura JDBC consiste em duas camadas -

  • JDBC API: Isso fornece a conexão do aplicativo para o Gerenciador JDBC.

  • JDBC Driver API: Isso oferece suporte à conexão JDBC Manager-to-Driver.

A API JDBC usa um gerenciador de driver e drivers específicos de banco de dados para fornecer conectividade transparente para bancos de dados heterogêneos.

O gerenciador de driver JDBC garante que o driver correto seja usado para acessar cada fonte de dados. O gerenciador de driver é capaz de suportar vários drivers simultâneos conectados a vários bancos de dados heterogêneos.

A seguir está o diagrama arquitetônico, que mostra a localização do gerenciador de driver em relação aos drivers JDBC e ao aplicativo Java -

Componentes JDBC comuns

A API JDBC fornece as seguintes interfaces e classes -

  • DriverManager:Esta classe gerencia uma lista de drivers de banco de dados. Corresponde às solicitações de conexão do aplicativo java com o driver de banco de dados apropriado usando o subprotocolo de comunicação. O primeiro driver que reconhece um determinado subprotocol em JDBC será usado para estabelecer uma conexão de banco de dados.

  • Driver:Essa interface lida com as comunicações com o servidor de banco de dados. Você irá interagir diretamente com objetos Driver muito raramente. Em vez disso, você usa objetos DriverManager, que gerencia objetos desse tipo. Ele também abstrai os detalhes associados ao trabalho com objetos Driver.

  • Connection:Esta interface com todos os métodos de contato com um banco de dados. O objeto de conexão representa o contexto de comunicação, ou seja, toda a comunicação com o banco de dados é feita apenas pelo objeto de conexão.

  • Statement:Você usa objetos criados a partir desta interface para enviar as instruções SQL para o banco de dados. Algumas interfaces derivadas aceitam parâmetros além de executar procedimentos armazenados.

  • ResultSet:Esses objetos contêm dados recuperados de um banco de dados depois que você executa uma consulta SQL usando objetos de instrução. Ele atua como um iterador para permitir que você navegue por seus dados.

  • SQLException: Esta classe trata de quaisquer erros que ocorram em um aplicativo de banco de dados.

Os Pacotes JDBC 4.0

O java.sql e javax.sql são os pacotes primários para JDBC 4.0. Esta é a versão mais recente do JDBC no momento em que este tutorial foi escrito. Oferece as principais classes de interação com suas fontes de dados.

Os novos recursos nesses pacotes incluem mudanças nas seguintes áreas -

  • Carregamento automático do driver do banco de dados.

  • Melhorias no tratamento de exceções.

  • Funcionalidade BLOB / CLOB aprimorada.

  • Aprimoramentos de interface de conexão e instrução.

  • Suporte para conjunto de caracteres nacionais.

  • Acesso SQL ROWID.

  • Suporte ao tipo de dados SQL 2003 XML.

  • Annotations.