Olá, meu código em uma das classes lança uma exceção quando tenta criar a conexão. Os códigos são os seguintes:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public Connection recuperarConexao() throws SQLException {
return DriverManager.getConnection("jdbc:mysql://localhost/loja_virtual?useTimezone=true&serverTimezone=UTC", "root", "root");
}
}
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestaListagem {
public static void main(String[] args) throws SQLException {
ConnectionFactory connectionFactory = new ConnectionFactory();
Connection connection = connectionFactory.recuperarConexao();
Statement stm = connection.createStatement();
stm.execute("SELECT ID, NOME, DESCRICAO FROM PRODUTO");
ResultSet rst = stm.getResultSet();
while(rst.next()) {
Integer id = rst.getInt("id");
System.out.println(id);
String nome = rst.getString("nome");
System.out.println(nome);
String descricao = rst.getString("descricao");
System.out.println(descricao);
}
connection.close();
}
}
import java.sql.Connection;
import java.sql.SQLException;
public class TestaConexao {
public static void main(String[] args) throws SQLException {
ConnectionFactory connectionFactory = new ConnectionFactory();
Connection connection = connectionFactory.recuperarConexao();
System.out.println("Fechando a conexão");
connection.close();
}
}
A classe TestaListagem funciona correntamente, mas a classe TestaConexao lança a seguinte exceção:
Exception in thread "main" java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO)
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/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at com.mysql.cj.jdbc.admin.TimezoneDump.main(TimezoneDump.java:70)
Poderia me ajudar a tentar descobrir o que estou fazendo errado?