Problema com Driver SQL Eclipse

3 respostas
aajjbb

Recebo a seguita stack trace ao tentar inserir um contato na tabela mysql do projeto que estou fazendo no eclipse

Conectando ao Banco

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/fj21

at java.sql.DriverManager.getConnection(DriverManager.java:602)

at java.sql.DriverManager.getConnection(DriverManager.java:185)

at br.com.agenda.jdbc.ConnectionFactory.getConnetion(ConnectionFactory.java:11)

at br.com.agenda.jdbc.dao.ContatoDAO.<init>(ContatoDAO.java:15)

at br.com.agenda.servlet.AdicionaContatoServlet.service(AdicionaContatoServlet.java:48)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

at java.lang.Thread.run(Thread.java:619)

;

sendo que assim esta minha classe factory

package br.com.agenda.jdbc;

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

public class ConnectionFactory {
	public Connection getConnetion() {
		System.out.println("Conectando ao Banco");
		try {
			return DriverManager.getConnection("jdbc:mysql://localhost/fj21", "root", "root");
			
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
		}

	}

E assim, mew DAO

package br.com.agenda.jdbc.dao;

import java.sql.*;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import br.com.agenda.jdbc.ConnectionFactory;
import br.com.agenda.jdbc.modelo.Contato;

public class ContatoDAO {
	private Connection connection;

	public ContatoDAO() {
		this.connection = new ConnectionFactory().getConnetion();
	}

	public void adiciona(Contato contato) {
		String sql = "insert into contatos (nome, email, endereco, dataNascimento) values (?,?,?,?)";

		try {
			PreparedStatement stmt = connection.prepareStatement(sql);

			stmt.setString(1, contato.getNome());
			stmt.setString(2, contato.getEmail());
			stmt.setString(3, contato.getEndereco());
			stmt.setDate(4, new Date(contato.getDataNascimento()
					.getTimeInMillis()));
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}

	}

	public List&lt;Contato&gt; getLista() {
		try {
			List&lt;Contato&gt; contatos = new ArrayList&lt;Contato&gt;();
			PreparedStatement stmt = this.connection.prepareStatement("select * from contatos");
			ResultSet rs = stmt.executeQuery();

			while (rs.next()) {
				Contato contato = new Contato();
				contato.setNome(rs.getString("nome"));
				contato.setEmail(rs.getString("email"));
				contato.setEndereco(rs.getString("endereco"));

				Calendar data = Calendar.getInstance();
				data.setTime(rs.getDate("dataNascimento"));
				contato.setDataNascimento(data);

				contatos.add(contato);
			}
			rs.close();
			stmt.close();
			return contatos;
		} catch (SQLException e) {
			throw new DAOException("Houve um Erro");
		}

	}

}

3 Respostas

aajjbb

sendo que o driver do mysql esta no meu build path do projeto, qual poderia ser o problema?

W

Ola amigo,

vc tentou colocar o numero da porta que vc está usando no MySql?
fica assim: return DriverManager.getConnection(“jdbc:mysql://localhost:3306/fj21”, “root”, “root”);

at.,

aajjbb

esqueci deste detalhe, muito obrigado.

Criado 10 de agosto de 2010
Ultima resposta 11 de ago. de 2010
Respostas 3
Participantes 2