Consultando dados do MySQL usando JDBC

Neste tutorial, mostraremos como consultar dados do MySQL usando objetos JDBC Statement e ResultSet.

Para consultar dados do MySQL, primeiro você precisa estabelecer uma conexão com o MySQL usando o objeto Connection.

Connection conn = DriverManager.getConnection(url,username,password);Linguagem de código:  Java  ( java )

Desenvolvemos uma classe utilitária chamada MySQLJDBCUtil que abre uma nova conexão com parâmetros de banco de dados armazenados em um arquivo de propriedades.

Connection conn = MySQLJDBCUtil.getConnection()Linguagem de código:  Java  ( java )

Após abrir a conexão, você precisa criar um objeto Statement. JDBC fornece vários tipos de instruções, como Statement, PreparedStatement e CallableStatement. Para consultar dados, você só precisa usar o objeto Statement da seguinte forma:

Statement stmt  = conn.createStatement();Linguagem de código:  Java  ( java )

Depois de criar um objeto Statement, você pode usá-lo para executar qualquer consulta MySQL válida como a seguinte:

String sql = "SELECT first_name, last_name, email " +
             "FROM candidates";

ResultSet rs    = stmt.executeQuery(sql)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Chamamos o executeQuery()método do objeto Statement. Este método retorna um objeto ResultSet que contém o resultado da consulta SQL. O resultado está na forma de linhas com colunas de dados baseadas na instrução SELECT .

O objeto ResultSet fornece métodos para percorrer o resultado e ler os dados. O next()método retorna verdadeiro e passa para a próxima linha no ResultSet se houver linhas disponíveis, caso contrário, retorna falso. Você deve chamar o método next() pelo menos uma vez antes de ler os dados porque, antes da primeira next()chamada, o ResultSet está localizado antes da primeira linha.

Para obter os dados da coluna da linha atual, você usa getDataType()o método onde DataType é o tipo de dados da coluna, por exemplo, int, string, double, etc.. Você precisa passar o nome da coluna ou índice da coluna para o método getDataType(), por exemplo:

String s = rs.getString("column_name");
int id   = rs.getInt(1);Linguagem de código:  Java  ( java )

Para obter os dados do ResultSet do candidato, faça o seguinte:

while (rs.next()) {
   System.out.println(rs.getString("first_name") + "\t" + 
                      rs.getString("last_name")  + "\t" +
                      rs.getString("email"));
                    
}Linguagem de código:  Java  ( java )

Você deve sempre fechar os objetos ResultSet e Statement ao concluir a passagem dos dados chamando o close()método.

try{
   rs.close();
   stmt.close();
} catch(SQLException e) {
   System.out.println(e.getMessage());
}Linguagem de código:  Java  ( java )

Se você usar a instrução try-with-resource, o close()método será chamado automaticamente para que você não precise fazê-lo explicitamente.

A seguir está um exemplo completo de consulta de dados da candidatestabela em nosso banco de dados de exemplo .

package org.mysqltutorial;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 *
 * @author tutorials.acervolima.com
 */
public class Main {
    
    public static void main(String[] args) { 
        // 
        String sql = "SELECT first_name, last_name, email " +
                     "FROM candidates";
        
        try (Connection conn = MySQLJDBCUtil.getConnection();
             Statement stmt  = conn.createStatement();
             ResultSet rs    = stmt.executeQuery(sql)) {
           
            // loop through the result set
            while (rs.next()) {
                System.out.println(rs.getString("first_name") + "\t" + 
                                   rs.getString("last_name")  + "\t" +
                                   rs.getString("email"));
                    
            }
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
        }
    }
}Linguagem de código:  Java  ( java )

A saída do programa é a seguinte:
dados de consulta mysql jdbc

Neste tutorial, mostramos como consultar dados do MySQL usando JDBC com uma instrução SQL simples.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *