Mais um problema de conexão com o MySQL

Olá, estou iniciando meu aprendizado com java e não manjo nada de MySQL ainda.

Estou usando a apostila da Caelum para os exercícios, criei o primeiro projeto jdbc e consegui conectar e gravar os dados no banco de dados ok.

Fui fazer o outro exercício na agora com web, para gravar os dados de um formulário no banco de dados, porém estou com o erro HTTP Status 500 - java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3307/fj21.

Já vi que alguns usuários também tiveram o mesmo problema, tentei seguir as dicas e mesmo assim continuo com o mesmo problema.

Segue abaixo um screen da tela do Eclipse:

e a tela do erro no navegador:

Quem puder me ajudar eu agradeço!!

Vc adicionou o driver do mysql à sua biblioteca?

Opa!

Botão direito no driver do mySql >Build Path> Add Build Path

Abs!

ola, deletei o projeto e fiz com calma desde o começo, agora deu certo!!! Nao sei onde eu tinha errado…

Obrigado!!

Pessoal estou com um problema ao inserir dados em um banco sql. Quando estava tudo um uma única classe estava tudo ok, porem eu comecei a separar as classes para melhorar o projeto e não consigo achar onde esta ocorrendo o erro.

Segue as classes.

Classe Cliente


package bean;

/**
 *
 * @author Ricardo
 */
public class FazaCliente {
    private String Codigo;
    private String Nome;
    private String Endereco;
    private String Cidade;
    private String Cep;
    private String Estado;
    private String IE;
    private String CNPJ;

    public String getCodigo() {
        return Codigo;
    }

    public void setCodigo(String Codigo) {
        this.Codigo = Codigo;
    }

    public String getNome() {
        return Nome;
    }

    public void setNome(String Nome) {
        this.Nome = Nome;
    }

    public String getEndereco() {
        return Endereco;
    }

    public void setEndereco(String Endereco) {
        this.Endereco = Endereco;
    }

    public String getCidade() {
        return Cidade;
    }

    public void setCidade(String Cidade) {
        this.Cidade = Cidade;
    }

    public String getCep() {
        return Cep;
    }

    public void setCep(String Cep) {
        this.Cep = Cep;
    }

    public String getEstado() {
        return Estado;
    }

    public void setEstado(String Estado) {
        this.Estado = Estado;
    }

    public String getIE() {
        return IE;
    }

    public void setIE(String IE) {
        this.IE = IE;
    }

    public String getCNPJ() {
        return CNPJ;
    }

    public void setCNPJ(String CNPJ) {
        this.CNPJ = CNPJ;
    }
    
    
}

Classe View - Botao Salvar

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        // TODO add your handling code here:
        
        try {
            
            if (jTextField8.getText().equals("")) {
            Connection conn = ConexaoBancoDados.getConexao();
            PreparedStatement stmt = null;
            stmt = conn.prepareStatement(query);
            FazaCliente cliente = new FazaCliente();
            cliente.setNome(this.jTextField1.getText());
            cliente.setEndereco(this.jTextField2.getText());
            cliente.setCidade(this.jTextField3.getText());
            cliente.setCep(this.jTextField4.getText());
            cliente.setEstado(this.jTextField5.getText());
            cliente.setIE(this.jTextField6.getText());
            cliente.setCNPJ(this.jTextField7.getText());
            
	    FazaControleDAO in = new FazaControleDAO();
            in.inserir(cliente);                
            }
        } catch (Exception ex) {
            Logger.getLogger(FazaCadClienteView.class.getName()).log(Level.SEVERE, null, ex);
        }
    }                                        

Classe DAO - inclusão

package controles;

import bean.FazaCliente;
import java.sql.*;
import javax.swing.JOptionPane;

/**
 *
 * @author Ricardo
 */
public class FazaControleDAO {
    
    public void inserir (FazaCliente cli) throws Exception{
        
        try{
            String query;
            Connection conn = ConexaoBancoDados.getConexao();
            PreparedStatement stmt;
            
            if (conn == null) {   
            System.out.println("Erro");   
            }

            //String para inserir no banco
            query = "INSERT INTO Clientes (Nome,Endereco,Cidade,Cep,Estado,IE,CNPJ) VALUES (?,?,?,?,?,?,?)";
            stmt = conn.prepareStatement(query);
	    stmt.setString(1,cli.getNome());
            stmt.setString(2,cli.getEndereco());
            stmt.setString(3,cli.getCidade());
            stmt.setString(4,cli.getCep());
            stmt.setString(5,cli.getEstado());
            stmt.setString(6,cli.getIE());
            stmt.setString(7,cli.getCNPJ());
            
            
	    int recordsUpdated = stmt.executeUpdate();
	    JOptionPane.showMessageDialog(null, recordsUpdated + "registros incluidos com sucesso OK!!! ");
                
            } catch (SQLException e){   
            System.out.println ("Erro na comunicação do SQL" + e);   
            }
    }

Segue o erro

SEVERE: null
java.sql.SQLException: SQL String can not be NULL
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:987)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:982)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:927)
at com.mysql.jdbc.PreparedStatement.(PreparedStatement.java:930)
at com.mysql.jdbc.JDBC4PreparedStatement.(JDBC4PreparedStatement.java:48)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.PreparedStatement.getInstance(PreparedStatement.java:872)
at com.mysql.jdbc.ConnectionImpl.clientPrepareStatement(ConnectionImpl.java:1490)
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4253)
at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4152)
at vizualizacao.FazaCadClienteView.jButton1ActionPerformed(FazaCadClienteView.java:255)
at vizualizacao.FazaCadClienteView.access$000(FazaCadClienteView.java:19)
at vizualizacao.FazaCadClienteView$1.actionPerformed(FazaCadClienteView.java:95)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:155)
at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:182)
at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:221)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:219)
at java.awt.Dialog.show(Dialog.java:1077)
at java.awt.Component.show(Component.java:1651)
at java.awt.Component.setVisible(Component.java:1603)
at java.awt.Window.setVisible(Window.java:1014)
at java.awt.Dialog.setVisible(Dialog.java:1003)
at vizualizacao.FazaPrincipal.jMenuItem1ActionPerformed(FazaPrincipal.java:121)
at vizualizacao.FazaPrincipal.access$000(FazaPrincipal.java:11)
at vizualizacao.FazaPrincipal$1.actionPerformed(FazaPrincipal.java:58)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:723)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:682)
at java.awt.EventQueue$3.run(EventQueue.java:680)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:696)
at java.awt.EventQueue$4.run(EventQueue.java:694)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:693)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)

CONSTRUÍDO COM SUCESSO (tempo total: 26 segundos)