Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 19 - Utilizando SQL em Java

Realizando consultas usando SQL em Java

Depois que você aprendeu como conectar sua aplicação escrita em Java a um Banco de Dados MySQL, agora você irá ver como usar consultas SQL para mostrar na sua aplicação Java os dados armazenados no seu banco de dados MySQL. Para mostrar como realizar consultas, vamos dividir o processo em passos listados a seguir.

 

Passo 1: criar uma instância da classe Statement

Antes de tudo, vamos criar um método para realizar a consulta ao banco de dados. Você pode criar um método public void chamado consultar, dentro da classe ConexaoMySQL. Depois disso, você deve declarar e inicializar uma variável do tipo Statement. Veja como fizemos no exemplo a seguir:

Para obter uma instância da classe Statement, você deve usar a sua conexão para invocar o método createStatement. No exemplo mostrado anteriormente, a conexão ao banco é representada pela classe ConexaoMySQL. Assim, obtemos uma conexão e criamos um objeto Statement a partir dela. Veja, a seguir, como deve ficar o seu método consultar até agora:

Note que a invocação do método createStatement() é envolto por um bloco try/catch, porque tal invocação pode levantar a exceção SQLException. Para evitar que sua aplicação pare de funcionar devido à ocorrência dessa exceção, o melhor é usar o bloco try/catch para tratar tal exceção e imprimir a pilha de execução através do comando printStackTrace.

 

Passo 2: executar a instrução SQL

O próximo passo é definir e executar a instrução SQL desejada. Para tanto, você deve declarar e inicializar uma variável para armazenar o resultado da sua consulta. Tal variável deve ser do tipo ResultSet. Depois disso, você deve usar a instância da classe Statement, criada no passo anterior, para executar o método executeQuery(SQL), onde SQL representa a consulta SQL que você deseja executar no seu banco de dados. Note que a consulta deve ser passada como uma String para o comando executeQuery.

A seguir, você pode ver como deve ter ficado seu método consultar depois deste passo. No nosso caso, estamos usando a String “Select * from clientes” para selecionar todos os campos da tabela Clientes.

Note que a invocação do método executeQuery() é envolto por um bloco try/catch, porque tal invocação pode levantar a exceção SQLException. Para evitar que sua aplicação pare de funcionar devido à ocorrência dessa exceção, o melhor é usar o bloco try/catch para tratar tal exceção e imprimir a pilha de execução através do comando printStackTrace.

 

Passo 3: obter dados retornados pelo MySQL

Depois de executar a consulta, o próximo passo é percorrer o ResultSet para obter os dados do banco de dados. Para tanto, você deve definir uma estrutura de repetição enquanto (while) que tenha como condição de parada o método next do ResultSet. Esse método retorna true quando existe dado retornado pela consulta. Veja a seguir como definir um while para mostrar os valores retornados pela consulta à tabela clientes.

Note que para obter o valor individual de cada coluna na tabela Clientes, você deve usar os métodos getInt, getString, getDate, getDouble etc. Esses métodos devem ser usados de acordo com o tipo da coluna no banco de dados. Note que a coluna cli_codigo na tabela Clientes é do tipo inteiro. Por esse motivo, usamos o método getInt. Por outro lado, a coluna cli_nome é do tipo Varchar; por isso usamos getString. Como parâmetro, esses métodos devem receber o nome do atributo que você deseja utilizar. Novamente, note que a invocação do método next() é envolto por um bloco try/catch, porque tal invocação pode levantar a exceção SQLException. Para evitar que sua aplicação pare de funcionar devido à ocorrência dessa exceção, o melhor é usar o bloco try/catch para tratar tal exceção e imprimir a pilha de execução através do comando printStackTrace.

 

Passo 4: fechar o ResultSet e a conexão

Depois de executar e percorrer os dados retornados, você sempre deve fechar a sua instância da classe ResultSet. Para tanto, você deve invocar o método close. Ao final desses passos, seu método consultar deve estar parecido com o mostrado a seguir:

Versão 5.3 - Todos os Direitos reservados