3
respostas

O banco de dados n funciona no Tomcat

Ola fiz varias vezes o teste do banco de dados, que aprendi nesse curso, no tomcat mas não funciona ou não chama o banco de dados, vejam ae as imagens: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

3 respostas

o erro é devido a ausência do driver do mysql, mas pelo seu print o driver esta na pasta. como voce adicionou ele no projeto? so copiou ai dentro dessa pasta? outra coisa a versao do driver que voce esta usando é a 8. tem uma mudanca na declaração do driver do mysql.

Sim Thiago eu copiei ele no projeto. Então o que eu devo fazer com essa versão 8. ?? No curso que eu estou aprendendo usa verão 8.0.17 ...

Em algum momento voce tenta carregar o driver?

     Class.forName("com.mysql.cj.jdbc.Driver")

quando eu usava JDBC eu tinha uma classe no padrao singleton que eu pegava as conexoes do bd dela.

public class Conexao {

    private final static Conexao singleton = new Conexao();

    private Conexao() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (IOException ioex) {
            System.out.println("Arquivo nao encontrado.\n" + ioex.getLocalizedMessage());
        } catch (ClassNotFoundException cnfex) {
            System.out.println("Driver do banco de dados não encontrado. \n" + cnfex.getLocalizedMessage());
        }
    }

    public static Conexao getInstance() {
        return singleton;
    }

    public Connection getConnection() {
        try {
            Connection conn =  DriverManager.getConnection(url, userName, password);
            return conn;

        } catch (SQLException ex) {
            System.out.println("erro ao conectar com o banco. \n" + ex.getLocalizedMessage());
        }
        return null;
    }
}

Ai em qualquer classe que voce esteja voce consegue chamar essa classe

Connection conn = Conexao.getInstance().getConnection();

Eu nao conheco o curso, nem vi como esta essa classe Factory que devolve a conexao para voce. Mas no codigo do seu metodo esta faltando o Class.forName(), ele que carrega o driver do mysql.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software