Erro método ConnectionFactory()

8 respostas
Thiago_de_Paula_Bese

Olá Pessoal

Estou fazendo um programinha de inserção no banco de dados. Desenvolvi aqui duas classes, a CONTATOS e a CONTATOSDAO.

Quando compilei a segunda classe, ainda nao terminada, gerou um código, apontando erro para o método ConnectionFactory().

Segue o código:

import java.util.Calendar;

public class Contato {
    private long id;
    private String nome;
    private String email;
    private String endereco;
    private Calendar dataNascimento;
    
    public Contato(long id, String nome, String email, String endereco,
            Calendar dataNascimento){
        
        this.id = id;
        this.nome = nome;
        this.email = email;
        this.endereco = endereco;
        this.dataNascimento = dataNascimento;
        
    }

    public void setDataNascimento(Calendar dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    public void setEmail(String email) {
        this.email = email;
    }

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

    public void setId(long id) {
        this.id = id;
    }

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

    public Calendar getDataNascimento() {
        return dataNascimento;
    }

    public String getEmail() {
        return email;
    }

    public String getEndereco() {
        return endereco;
    }

    public long getId() {
        return id;
    }

    public String getNome() {
        return nome;
    }

}

import java.sql.Connection;

public class ContatoDAO {

    //A conexão com o banco de dados
    private Connection connection;

    public ContatoDAO(){
        this.connection = new ConnectionFactory().getConnection();
    }
}

Segue o erro apontado pelo compilador

C:\Documents and Settings\Thiago de P. Beserra\Desktop\BancoDados\src\ContatoDAO.java:11: cannot find symbol

symbol  : class ConnectionFactory

location: class ContatoDAO

this.connection = new ConnectionFactory().getConnection();

1 error

C:\Documents and Settings\Thiago de P. Beserra\Desktop\BancoDados\nbproject\build-impl.xml:438: The following error occurred while executing this line:

C:\Documents and Settings\Thiago de P. Beserra\Desktop\BancoDados\nbproject\build-impl.xml:224: Compile failed; see the compiler error output for details.

FALHA NA CONSTRUÇÃO (tempo total: 0 segundos)

Se possível, quero a ajuda dos amigos do fórum para me ajudar a resolver o erro.

GRATO

8 Respostas

R

A classe ConnectionFactory realmente possui um método chamado getConnection()?

G

O método getConnection não é static ? se for retire o new

Thiago_de_Paula_Bese

Bom, este código na verdade esta no exercicio da do segundo capitulo da apostila da Caelum - FJ21. Estou aprendendo DAO a pouco tempo.

Esta identico.

O exercicio da apostila esta errado?

leo.junior

O problema é que vc deve criar a sua própria classe ConnectionFactory. Depois de fazer isso, basta importar na classe que vc está instanciando.

O exercício explica como criar a classe.

Abs…

Thiago_de_Paula_Bese

Valeu pessoal.

Vou tentar aqui.

XD

edmarr

Primeiramente vc deve ler cada capitulo da apostila ,
dai então vc vai começar a implementar aquele capitulo acompanhando
desta maneira vc não ficara perdido no que esta acontecendo .

Bom Estudo !

FelipeGalli

Um exemplo disto funcionando =]

public class ConnectionFactory {

    public static Connection getConnection() throws ClassNotFoundException, SQLException {

Class.forName("com.mysql.jdbc.Driver");
 System.out.println("Conectanco ao banco"); 
return (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "123456"); // aqui coloca seu usuario e senha

    }
}

Eu particularmente usei para poder usar na minha classe DAO
ficaria assim

public class InventarioDAO {

    private Connection con;

    public InventarioDAO() throws ClassNotFoundException, SQLException {

        con = (Connection) ConnectionFactory.getConnection();

    }

Ajudou ?

Thiago_de_Paula_Bese

Ajudou sim.

Obrigado. XD

Criado 22 de fevereiro de 2010
Ultima resposta 22 de fev. de 2010
Respostas 8
Participantes 6