Boa tarde .
Então galera , estou precisando de uma força.
Estou fazendo o exercício 11.8 da apostila da Caelum , no qual seria para adicionar uma tarefa , no BD por meio do Struts2.
Porém eu estou tomando uma excpetion nada agradável .
java.lang.RuntimeException: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/CFR
Primeiramente , no mesmo projeto , eu tenho uma classe na qual “testa” minha conexão e está certinho .
Eu tenho classes na qual testam alguns comandos do SQL , inserir , excluir etc. , também está rodando PERFEITAMENTE.
Então , eu não sei oque pode ser .
Eu já add o JAR do mySQL no projeto , já add no BuildPath e ele está na LIB.
Ele da erro nessa classe, quando eu tento usar o TarefaDAO
package br.com.cfr.action;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import br.com.cfr.jdbc.dao.TarefaDAO;
import br.com.cfr.jdbc.modelo.Tarefa;
public class AdicionaTarefasAction {
//private Contato contato;
private Tarefa tarefa;
@Action(value = "adicionaTarefa" , results = {
@Result(name = "ok" , location ="tarefa-adicionada.jsp")
})
public String execute() {
//new ContatoDAO().adiciona(contato);
new TarefaDAO().adiciona(tarefa);
return "ok";
}
public Tarefa getTarefa() {
return tarefa;
}
public void setTarefa(Tarefa tarefa) {
this.tarefa = tarefa;
}
}
Eis meu TarefaDAO
package br.com.cfr.jdbc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import br.com.cfr.jdbc.ConnectionFactory;
import br.com.cfr.jdbc.modelo.Tarefa;
public class TarefaDAO {
Connection connection;
public TarefaDAO(){
this.connection = new ConnectionFactory().getConnection();
}
public void adiciona (Tarefa tarefa){
String sql = "insert into tab_tar descricao value(?)";
try {
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, tarefa.getDescricao());
stmt.execute();
stmt.close();
} catch (SQLException e){
throw new RuntimeException (e);
}
}
}
E também meu ConnectionFactory
package br.com.cfr.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public Connection getConnection(){
System.out.println("Conectando ao banco");
try {
return DriverManager.getConnection("jdbc:mysql://localhost/CFR" , "root" , "");
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
E a JSP
<html>
<body>
<h3>Adicionar tarefas</h3>
<form action ="adicionaTarefa" method="post">
Descrição: <br/>
<textarea name="tarefa.descricao" rows="5" cols="100" ></textarea> <br />
<input type= "submit" value ="Adicionar">
</form>
</body>
</html>
E quanto a perguntas sobre o banco de dados : Meu banco não tem senha e não tem usuario . Por isso eu uso ROOT. E como já falei eu estava conseguindo acessar , modificar , o banco normalmente , só agora que eu fui mexer com Struts2 que deu errado.
Será que está faltando algum JAR ??
Ah , eu uso o TomCat 7.0.
Eis um print para provar que o jar esta ná lib e está devidamente adicionado no BuidPath , e também , todos os JAR´S necessários para rodar o Struts2 também estão ai .
E estão funcionando pois eu fiz o primeiro exemplo da apostila e funcionou certinho.
Desde já agradeço .