Especialista

O detalhe mais importante é a própria biblioteca JDBC Driver para o servidor MySQL. Ele simplesmente não aparecerá no seu computador, então você precisa adicioná-lo lá.

Se você estiver usando o Maven, precisará ajudá-lo apontando a biblioteca certa.

Driver JDBC do MySQL :

   	<dependency>
        	<groupId>mysql</groupId>
        	<artifactId>mysql-connector-java</artifactId>
        	<version>8.0.29</version>
    	</dependency>

Basta adicionar este código ao seu pom.xml .

Também darei alguns drivers mais populares.

Driver JDBC para PostgeSQL :

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.4.0</version>
</dependency>

Driver JDBC para Oracle :

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.5.0.0</version>
</dependency>

Driver JDBC para H2 :

<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.1.214</version>
</dependency>

Primeira consulta ao banco de dados

Todas as bibliotecas necessárias estão incluídas, agora é hora de executar seu primeiro programa de acesso ao banco de dados. Escreveremos todo o código no método main() .

Fase 1 . Adicione algumas importações antes do método main() - isso facilitará muito sua vida:

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

Fase 2 . Primeiro precisamos criar uma conexão com o banco de dados. Para fazer isso, no método main() , escreva o seguinte código:

Connection connection  = DriverManager.getConnection(
           "jdbc:mysql://localhost:3306/test",
           "login", "password");

Você também pode fazer isso em uma linha - o que for mais conveniente para você. Login e senha, é claro, você precisa substituir os reais do seu servidor MySQL local.

Fase 3 . Criamos uma consulta ao banco de dados. Vamos pegar todos os usuários da tabela de usuários. Então você precisará adicionar esta linha de código:

Statement statement = connection.createStatement();
ResultSet results = statement.executeQuery("SELECT * FROM user");

São duas linhas. Na primeira criamos um objetoDeclaração, e no segundo, usamos para consultar o banco de dados. O método executeQuery() executa uma consulta ao banco de dados e retorna um objeto do tipoconjunto de resultados.

Fase 4 . Exibir os dados contidos no objetoconjunto de resultados.

conjunto de resultados- não é um conjunto, é apenas chamado assim. Armazena o resultado da execução da consulta. Este objeto é um pouco semelhante a um iterador: permite definir / alterar a linha atual do resultado e, em seguida, obter dados dessa linha atual. Adicione o seguinte código ao seu exemplo:

while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
}

O método next() altera a linha de resultado atual para a próxima. Ele retorna verdadeiro se houver tal linha e falso se não houver mais linhas.

Então, a partir da linha atual do objetoconjunto de resultadosvocê pode obter dados de suas colunas:

  • getRow() - retorna o número da linha atual no objetoconjunto de resultados
  • getInt(N) - retornará os dados da enésima coluna da linha atual como um int
  • getString(N) - retornará os dados da enésima coluna da linha atual como uma String

Listagem completa do programa

Para minimizar erros, aqui está uma lista completa do programa:

package org.example;

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

public class JdbcApplicatin {
    public static void main(String[] args) throws  Exception{
 	   Connection connection  = DriverManager.getConnection(
          	"jdbc:mysql://localhost:3306/test",
          	"root", "secret");

        Statement statement = connection.createStatement();
    	ResultSet results = statement.executeQuery("SELECT * FROM user");

    	while (results.next()) {
        	Integer id = results.getInt(1);
        	String name = results.getString(2);
        	System.out.println(results.getRow() + ". " + id + "\t"+ name);
    	}
    	connection.close();
    }
}

E minha saída de tela depois de executar o programa:

"C:\Arquivos de Programas\Java\jdk-17.0.3.1\bin\java.exe...
onze Ivanov Ivan
2.2 Petrov Nikolai
3.3 Sidorov Vitaly
Processo finalizado com código de saída 0