1
resposta

projeto Java com integração no banco de dados MySQL

Gostaria de uma ajuda pois estou com projeto e esta dando erro na parte de compilação.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class EpidemiaDengue{
    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/casos_de_dengue";
        String username = "root";
        String password = "root";

        try {
            // Carrega o driver JDBC do MySQL
            Class.forName("com.mysql.cj.jdbc.Driver");

            // Estabelece a conexão com o banco de dados
            Connection connection = DriverManager.getConnection(url, username, password);

            // Cria o banco de dados se não existir
            String createDatabaseSql = "CREATE DATABASE IF NOT EXISTS seu_banco_de_dados";
            Statement statement = connection.createStatement();
            statement.executeUpdate(createDatabaseSql);

            // Utiliza o banco de dados
            String useDatabaseSql = "USE casos_de_dengue";
            statement.executeUpdate(useDatabaseSql);

            // Cria a tabela se não existir
            String createTableSql = "CREATE TABLE IF NOT EXISTS ocorrencias_dengue ("
                    + "id INT AUTO_INCREMENT PRIMARY KEY,"
                    + "cidade VARCHAR(50),"
                    + "quantidade INT)";
            statement.executeUpdate(createTableSql);

            // Insere os dados de ocorrências de dengue
            String insertSql = "INSERT INTO ocorrencias_dengue (cidade, quantidade) VALUES (?, ?)";

            // Cria um objeto PreparedStatement para enviar a instrução SQL
            PreparedStatement preparedStatement = connection.prepareStatement(insertSql);

            // Insere os dados de ocorrências de dengue para São Bernardo do Campo
            preparedStatement.setString(1, "São Bernardo do Campo");
            preparedStatement.setInt(2, 10);
            preparedStatement.executeUpdate();

            // Insere os dados de ocorrências de dengue para Santo André
            preparedStatement.setString(1, "Santo André");
            preparedStatement.setInt(2, 5);
            preparedStatement.executeUpdate();

            // Insere os dados de ocorrências de dengue para Diadema
            preparedStatement.setString(1, "Diadema");
            preparedStatement.setInt(2, 8);
            preparedStatement.executeUpdate();

            // Insere os dados de ocorrências de dengue para São Caetano do Sul
            preparedStatement.setString(1, "São Caetano do Sul");
            preparedStatement.setInt(2, 3);
            preparedStatement.executeUpdate();

            // Insere os dados de ocorrências de dengue para Mauá
            preparedStatement.setString(1, "Mauá");
            preparedStatement.setInt(2, 6);
            preparedStatement.executeUpdate();

            // Fecha os recursos
            preparedStatement.close();
            statement.close();
            connection.close();

            System.out.println("Dados inseridos com sucesso!");

        } catch (ClassNotFoundException | SQLException e) {
            e.printStackTrace();
        }
    }
}

Está aparecendo:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    Multi-catch parameters are not allowed for source level below 1.7

    at aps.EpidemiaDengue.main(EpidemiaDengue.java:74)

Alguém poderia me ajudar, por favor.

1 resposta

Oii, Felipe! Tudo bem?

Peço desculpas pela demora para te responder.

Parabéns por praticar seus conhecimentos indo além das aulas! Essa prática ajuda bastante a assimilar o que você vem aprendendo.

Felipe, como é um projeto externo ao curso, o qual não possuo acesso às informações do projeto em totalidade, consigo abordar algumas recomendações para você adaptar em seu projeto, do modo que faz mais sentido.

Pelo erro recebido, é provável que o problema esteja relacionado ao nível de versão do Java que você está usando. O erro específico "Multi-catch parameters are not allowed for source level below 1.7" indica que você está tentando usar um recurso de multi-catch que não é permitido em versões anteriores ao Java 7.

Tendo isso como ponto de partida, você pode testar uma das seguintes opções:

  1. Atualizar a versão do Java para a versão 7 ou superior a ela.

  2. Alterar o código para não usar multi-catch.

Caso queira baixar uma versão mais atualizada do Java, acesso o seguinte link:

Espero que dê certo!

Bons estudos, Felipe!