Erro mysql em java

minha aplicação deu erro alguém pode me ajudar descrição do erro abaixo do código!!
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Banco_de_dados {

	public static void main(String[] args) {
		String url = "jdbc:mysql://localhost/cadastro";
		try {
			Connection conexao = DriverManager.getConnection(url,"root","vertrigo");
			PreparedStatement pesquisa = conexao.prepareStatement("SELECT * FROM pessoas"); 
			ResultSet resultado = pesquisa.executeQuery();
			
			while (resultado.next()){
				String nome = resultado.getString("nome");
				String idade = resultado.getString("idade");
				
				System.out.println("Nome: "+nome+" Idade: "+idade);
			}
			
		} catch (SQLException e) {
		
			e.printStackTrace();
		}
	}

}

_____________________ erro !! _______________________
java.sql.SQLException: The server time zone value ‘Hora oficial do Brasil’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specifc time zone value if you want to utilize time zone support.
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.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:836)
at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:197)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at Banco_de_dados.main(Banco_de_dados.java:12)
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value ‘Hora oficial do Brasil’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)
at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2120)
at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2143)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1310)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:967)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:826)
… 6 more

1 curtida

Isso ae é porque você não colocou um fuso horário, faça o seguinte:

String url = “jdbc:mysql://localhost/cadastro?useTimezone=true&serverTimezone=UTC”;

E também esqueceu de colocar o Class.forName(“com.mysql.cj.jdbc”);

huum obrigado não sabia que precisava disso, no meu código só tinha copiado do tutorial q vi, la no tuto tinha dado certo. vou adicionar aqui .

código e exatamente assim q tenho que digitar? aqui ta dando erro de sintaxe

esqueci onde tem localhost, colocar localhost:3306

^^ ainda não funcionou

esse Class.forName onde ele vai?

Era só ter lido a descrição da exceção: :stuck_out_tongue:

You must configure either the server or JDBC driver (via the ‘serverTimezone’ configuration property) to use a more specifc time zone value if you want to utilize time zone support

Qual a versão do seu mysql-connector-java?

Antes de você inicializar o driver, ou seja, antes de DriverManager.getConnection.

vai pro método que você irá usar para conectar, no caso o método main

humm to começando a entender uso a versão mais nova