2
respostas

Mesmo com a dependencia mysql-connector-java ainda recebo o erro de driver

Criei o projeto utilizando o Spring Initializr e nele ja adicionei a dependencia do myseql-connector. O mesmo esta presente no arquivo pom.xml.

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class TestaConexao {

    public static void main(String[] args) throws SQLException {

        Connection connection = DriverManager.getConnection(
                "jdbc:mysql://localhost/loja_virtual?useTimezone=true&serverTimezone=UTC",
                "root",
                "minhasenha");

        connection.close();
    }
}

Porem, ainda recebo o erro:


APPLICATION FAILED TO START


Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

Action:

Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

Process finished with exit code 1

2 respostas

ja tentei tbm "jdbc:mysql://localhost:3306/loja_virtual" na url, mas nao funciona. A senha e user estao corretos pois utilizei eles para conectar no MySQL e gerar a tabela

Olá, Nathalia! Como vai? Vou tentar te ajudar.

Você criou a tabela no Schema chamado loja_virtual? Verifique se o banco de dados foi iniciado e se está ativo. Faça um teste de conexão ao banco de dados e realize um select na tabela criada:

select * from Schema.Nome_da_sua_Tabela;

No seu caso, parece que o comando de consulta (select) na tabela será:

select * from loja_virtual.produto;

Se o comando acima não funcionar no MySQL Workbench, então o nome do seu Schema é outro. Consequentemente, sua URL está errada.

Com a finalidade de teste, removeria o <scope>runtime</scope> do seu pom.xml. Adicionaria a versão do MySQL Connector nas dependências (referência abaixo).

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

No MySQL da minha máquina, criei o Schema alura.

A minha URL ficou: jdbc:mysql://localhost/alura?useTimezone=true&serverTimezone=UTC

Meu código ficou:


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

public class TesteConexao {

    public TesteConexao() {
        // TODO Auto-generated constructor stub
    }

    public static void main(String[] args) throws SQLException {
        // TODO Auto-generated method stub
        String enderecoURL = "jdbc:mysql://localhost/alura?useTimezone=true&serverTimezone=UTC";
        String mySqlUser = "root";
        String mySqlPassword = "minhaSenha";
        Connection conexao = DriverManager.getConnection(enderecoURL, mySqlUser, mySqlPassword);
        System.out.println("A conexão foi fechada!");
        conexao.close();

    }

}