Pessoal estou tentando conectar do java para mysqlworkbench

37 respostas
M
public class Aluno {
BancoDeDados bancoDeDados = new BancoDeDados();
bancoDeDados.conectar();
if (bancoDeDados.estaConectado()){
	bancoDeDados.listarContato());

		//bancoDeDados.inserirContato("Paulo", "988936784");
		//bancoDeDados.editarContato("1" "Fernando" , 896362585");
		//bancoDeDados.apagarContato("1");
		bancoDeDados.desconectar();
	} else {
		
		System.out.println("Não foi possível conectar ao banco de dados!");
		
    }
}

}

obs: fica dando erro aqui nessa linha : bancoDeDados.conectar();
e nessa outra linha: bancoDeDados.listarContato());

37 Respostas

L

Bom, para não deixar de ser chato. O MySQL Workbench é uma ferramenta GUI que permite que você manipule o SGBD MySQL.
O que você está tentando fazer é criar uma conexão com um banco de dados do MySQL.
Esta conexão é realizada, provavelmente, através do método conectar da classe BancoDeDados.
Precisamos do código desta classe, para vermos se há algo errado, bem como da mensagem de erro apresentada.

M
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

public class BancoDeDados {

	private Connection connection = null;
	private Statement statement = null;
	private ResultSet resultset = null;
	
	public void conectar(){
		String servidor = "jdbc:mysql://localhost:8080/evolucao";
		String usuario = "root";
		String senha = "1234";
		String driver = "com.mysql.jdbc.Driver";
	try{
		Class.forName(driver);
		this.connection = DriverManager.getConnection(servidor, usuario, senha );
		this.statement = (Statement) this.connection.createStatement();
	 } catch (Exception e){
		 
		System.out.println("erro:" + e.getMessage());
		
	}
	{
		
		
	}

	}
	
	public Connection getConnection() {
		return connection;
	}

	public void setConnection(Connection connection) {
		this.connection = connection;
	}

	public Statement getStatement() {
		return statement;
	}

	public void setStatement(Statement statement) {
		this.statement = statement;
	}

	public ResultSet getResultset() {
		return resultset;
	}

	public void setResultset(ResultSet resultset) {
		this.resultset = resultset;
	}


	public void desconectar() {
		// TODO Auto-generated method stub
		
	}
	

}
L

Tem mesmo certeza que esta é a porta para o MySQL?
Normalmente ela é a 3306.
Qual a mensagem de erro apresentada?

D

Qual o erro que apresenta?

M

Adicionou o driver do mysql no projeto?

https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.41

M

cara fica sinal de x bancoDeDados.conectar();

x bancoDeDados.listarContato());

M

nessa linha do codigo

L

Só aparece o x?
Vai precisar ser mais claro com isso, senão, não temos como ajudar

M

porta é essa mesma sem problema o negocio erro que fica do lado do codigo

M

Posta a stack trace

M

como faz
estava quero posta print mas não deu certo

M

como faz
estava quero posta print mas não deu certo

M

Ta com chave demais aqui não acha

L

As classes Aluno e BancoDeDados estão no mesmo package?

M

sim

M

HTTP Status 404 -

type Status report

message

description The requested resource is not available.

Apache Tomcat/8.5.11

L

Creio que não sejam o problema, elas abrem e fecham adequadamente.

public void conectar(){//Abre método
	String servidor = "jdbc:mysql://localhost:8080/evolucao";
	String usuario = "root";
	String senha = "1234";
	String driver = "com.mysql.jdbc.Driver";
try{//Abre try
	Class.forName(driver);
	this.connection = DriverManager.getConnection(servidor, usuario, senha );
	this.statement = (Statement) this.connection.createStatement();
 } catch (Exception e){ //fecha try e abre catch
	System.out.println("erro:" + e.getMessage());	
}//fecha catch
{//abre vazia

}//fecha vazia
}//fecha método
L

Simplesmente não tem como adivinhar.
Você não sabe descrever o que realmente está ocorrendo e não nos passa maiores informações, só faz comentários desconexos. Assim é impossível. O problema pode ser causado por N fatores.

M

olha as primeiras que coloquei, fiz uma obs…

M

O projeto está estartando?
O erro ocorre em um trecho específico?
Na saída do console ta estourando uma exceção? Se sim, posta ela aqui.

M

cara o x que estou falando aquele x que fica no Eclipse quando estamos colocando os codigos

L

O retorno do método conectar() é void e não boolean.
Independente da IDE (eclipse ou netbeans) elas informam qual o erro.

D

da uma lida na apostila da Caelum de java para web . que por ela voce consegue, e o melhor é de graça o download.

M

isso

L

Usando eclipse, bastaria você clicar com o cursor do mouse sobre o X vermelho e ele irá te dizer qual a razão pela qual o código não pode ser compilado.

M

e nessa sintaxe que esta dando erro: bancoDeDados.conectar();

M

o erro é:
Multiple markers at this line
- Syntax error on token “conectar”, Identifier expected after
this token
- Syntax error on token “;”, { expected after this token

L

Não é esse o problema.
O problema é que o método conectar() da classe BancoDeDados é void e o if espera um parâmetro booleano (algo que defina valor true ou false).
Ou você remove o if e vai na sorte ou você altera o método conectar() para ele devolver um valor do tipo boolean

M

entendi

M

valeu

L

Na boa, segue a dica do @Diego_Sampaio e deixa esse projeto para depois de você estudar.

M

Estou estudando apostilas

L

Então você copiou algo fora do lugar ou tentou modificar alguma coisa ou ainda não observou as respostas dos exercícios.
Pela tua dificuldade com isso, sugiro que você volte alguns passos, estude e faça exercícios que te deixem apto a avançar. Senão você vai sofrer muito com as cosias que virão em seguida.

M

Provavelmente sim. Como você mesmo mostrou a porta que está na config do banco é 8080.(Porta comumente usado para servidores web)

M

não não

M

:+1:

M

Resolvido galera valeu todos!

Criado 4 de abril de 2017
Ultima resposta 4 de abr. de 2017
Respostas 37
Participantes 4