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 |
GO TO FULL VERSION