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 candidates
tabela 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:
Neste tutorial, mostramos como consultar dados do MySQL usando JDBC com uma instrução SQL simples.