4
respostas

Jdbc com erro

Olá pessoal. Estou implementando os exercicios de jdbc, porém, estou mesclando as aulas de servlets com os de jdbc. Estou com o seguinte erro quando tento conexão com o banco : No suitable driver found for jdbc:mysql://localhost:3306/pizza_projeto?useSSL=false Já importei o driver do mysql para o clipse e fica dando erro toda vez que vou persistir os dados. Quando um crio um main de teste de conexão, ele abre a conexão e tal, mas com a mesma implementação no servlet/classes de métodos a conexão não entra funciona. Segue as classes CONEXÃO:

//imports omitidos
public class ConexaoUtil {
    public static Connection getConexao() {
        Connection con = null;
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pizza_projeto?useSSL=false", "root", "root");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("Conexão invalida");
        }
        return con;
    }
}

Controller

//imports omitidos
public class ControllerServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws IOException, ServletException {
        String paramAcao = request.getParameter("acao");

        if (paramAcao.equals("AdicionaCliente"))

        try {
                AdicionaCliente adcCliente = new AdicionaCliente();
                    adcCliente.executa(request, response);
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
    }
}

ADICIONA CLIENTE:

//imports omitidos
public class AdicionaCliente {
    public void executa(HttpServletRequest request, HttpServletResponse response)
            throws SQLException, ServletException, IOException {
        System.out.println("Classe Adiciona cliente");
        Cliente cliente = new Cliente();
        cliente.setNome(request.getParameter("nome"));
        cliente.setSobrenome(request.getParameter("sobrenome"));
        cliente.setEmail(request.getParameter("email"));
        cliente.setSenha(request.getParameter("senha"));
        try {
            Connection connection = ConexaoUtil.getConexao();
            String sql = "insert into tb_Teste (nome, sobrenome,email,senha) values(?,?,?,?)";
            PreparedStatement statement = (PreparedStatement) connection.prepareStatement(sql);
            statement.setString(1, cliente.getNome());
            statement.setString(2, cliente.getSobrenome());
            statement.setString(3, cliente.getEmail());
            statement.setString(4, cliente.getSenha());
            boolean resultado = statement.execute();
            System.out.println(resultado);
            statement.close();
            connection.close();    
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
O que poderia ser?
4 respostas

Boa tarde, Gedan! Como vai?

Experimente fazer assim e veja se as coisas funcionam da forma como vc esperava:

public class ConexaoUtil {
    public static Connection getConexao() {
        Connection con = null;
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pizza_projeto?useSSL=false", "root", "root");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("Conexão invalida");
        }
        return con;
    }
}

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Infelizmente não corrigiu. Segue o erro: https://gist.github.com/GedanMagal/ba60a0c59f744968cc43ff3f699ccc41

Quando vc disse

Quando um crio um main de teste de conexão, ele abre a conexão e tal...

esse teste que vc fez foi no mesmo projeto ou em projetos diferentes?

Segue

public class TesteConexao {
    public static void main(String[] args) throws ClassNotFoundException {
            try {
                Connection connection = ConexaoUtil.getConexao();
                System.out.println("Conexão aberta com sucesso");


                connection.close();

            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

    }