Problemas para criar uma "fabrica de conexao"

5 respostas
F

Pessoal, to fazendo um exercicio da apostila da caelum e ta dando erro.

seguinte: Ctiri a class ConnectionFactory com o codigo abaixo
package br.com.caelum.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class ConnectionFactory {
	
	public static Connection getConnection() throws SQLException{
		try {
			Class.forName("com.mysql.jdbc.Driver");
			return DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "123");
		} catch (ClassNotFoundException e){
			throw new SQLException(e.getMessage());			
		}
	}
}
e a class TestaConexao
package br.com.caelum.jdbc.teste;

import java.sql.Connection;

import br.com.caelum.jdbc.ConnectionFactory;




public class TestaConexao {

	public static void main(String[] args) {
		Connection connection = new ConnectionFactory.getConnection();
		connection.close();
		
	}

}

por algum motivo da erro nisso new ConnectionFactory.getConnection();

alguem tem udeia ??

5 Respostas

F

o erro é:
new ConnectionFactory.getConnection();
cannot to be resolved to a type

obrigado!!!

toredobud

O método getConnection() foi definido com static, e portanto é um método da classe não um método de instância, ou seja, não se deve usar o new.

//Errado
Connection connection = new ConnectionFactory.getConnection();

//Correto
Connection connection = ConnectionFactory.getConnection();   //sem o new
wbdsjunior

o método ConnectionFactory.getConnection() já retorna uma nova conexão. você não precisar dar new.

tente assim:

Connection connection = ConnectionFactory.getConnection();
nel

Amigo, você criou um método estático dentra da sua classe então caso utilize o new para instanciar o objeto e usar o método que pertence a este objeto o formato é outro:

Ai vai dois formatos que eu acredito que funcione:

ConnectionFactory con = new ConnectionFactory(); Connection connection = con.getConnection();

Ou simplesmente:

Connection connection = ConnectionFactory.getConnection();

É para funcionar nestes formatos.

Abraço! :slight_smile:

F

tks…
pequenos detalhes que eu tava quebrando a cabeça aqui …

:smiley:

Criado 6 de outubro de 2009
Ultima resposta 6 de out. de 2009
Respostas 5
Participantes 4