Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se
1
resposta

Onde foi o erro?

Ao executar ele me devolve com este erro.

Exception in thread "main" java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at TestaConexao.main(TestaConexao.java:9)
1 resposta

Olá Carlos, bom dia! Essa exceção está sendo lançada porque o acesso ao banco de dados foi negado. Na hora de instalar e configurar o banco de dados no seu computador, você define um usuário e senha padrões para conseguir acessar o banco. Quando criamos a classe ConnectionFactory, temos que passar esse usuário padrão, a senha e também o nome da database que você criou com o comando SQL:

CREATE DATABASE nomeDeSuaEscolha;

A classe responsável pela criação de conexões fica mais ou menos assim:

public class ConnectionFactory {

    public DataSource datasource;

    public ConnectionFactory() {
        ComboPooledDataSource cpds = new ComboPooledDataSource();
        cpds.setJdbcUrl("jdbc:mysql://localhost:3306/nomeDaSuaDatabase?useTimezone=true&serverTimezone=UTC");
        cpds.setUser("nomeDoUsuarioPadrao");
        cpds.setPassword("senhaPadraoQueVoceDefiniu");

        this.datasource = cpds;
    }

    public Connection recuperarConexao() throws SQLException {
        return this.datasource.getConnection();
    }

}

Acredito que no seu caso você tenha colocado a senha errada, se você não lembrar a senha, você pode desinstalar o MySQL e instalar novamente, para assim refazer a configuração. Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software