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<Contato> getLista() {
try {
List<Contato> contatos = new ArrayList<Contato>();
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");
}
}
}