ConnectionFactory cannot be resolved

Oi Galera!

Estou com o seguinte problema no meu codigo, na linha onde chamo um

ConnectionFactory.getConnection() aparece essa mensagem:

ConnectionFactory cannot be resolved

Já coloquei no meu classpath:

CLASSPATH=.;%JAVA_HOME%;c:\mysql-connector-java-3.1.12\mysql-connector-java-3.1.12-bin.jar

e também no projeto no Eclipse já add as librays tantoe esse .jar quanto o aspectjrt.jar e mesmo assim nada.

Segue a classe de ControladordeConexões(que não tá dando nenhum erro):

package jdbc;

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

public class ControladordeConexoes {
	private static final String URL="jdbc:mysql://localhost:3306/teste";
	private static final String DRIVER="com.mysql.jdbc.Driver";
	private static final String USUARIO="root";
	private static final String SENHA="";
	
	public static Connection getConnection() throws SQLException{
		try{
			Class.forName(DRIVER);
		System.out.println("Conectado ao banco");
		return DriverManager.getConnection(URL, USUARIO, SENHA);
	}
	catch (ClassNotFoundException e){
		throw new SQLException(e.getMessage());
	}
}

}

Essa é a classe para testar a Conexão e que tá dando o problema no ConnectionFactory:

package jdbc.teste;

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

public class TestaConexao {

	public static void main(String [] args){
		try{
			Connection con = ConnectionFactory.getConnection();
			System.out.println("Conectado!");
			con.close();
		} 
		finally {}
		}
}

Help me!!!

se vc fizer um
import jdbc.*;

será que não resolve ?

Oi peczenyj

Não resolve não. Já tinha feito isso, mas fiz de novo. Mas essa package teste está dentro de jdbc, mesmo assim precisava?

O que eh ConnectionFactory? Nao era pra ser ControladordeConexao?

Bem cv mudei para

Connection con = ControladordeConexoes.getConnection();

a agora aparece “ControladordeConexoes cannot be resolved”

Pessoal,

Bora fazer um bolão?

Eu to apostando que falta um “import jdbc.ControladordeConexoes”.

Humm. ta saquei…

$ cat jdbc/A.java

[code]package jdbc;

public class A{

public static void hello(){
System.out.println(“ola mundo”);
}

}[/code]

$ jdbc/teste/B.java

[code]package jdbc.teste;
import jdbc.*;

public class B {

public static void main(String [] args){
System.out.println(“lalala”);
A.hello();
}

}[/code]

$ javac jdbc/A.java

$ javac jdbc/teste/B.java

$ java jdbc/teste/B
lalala
ola mundo

Sacou ? Alem de colocar o import jdbc.* (sem ele da erro!!!) vc tem que compilar a partir de um diretorio abaixo do jdbc

Veja só…

$ cd jdbc/

$ javac A.java

$ javac teste/B.java
teste/B.java:8: cannot resolve symbol
symbol : variable A
location: class jdbc.teste.B
A.hello();
^
1 error

Só pra dizer que isso Não tem nada haver… eu peguei os 2 javas e coloquei nos diretorios

jdbc
jdbc/teste

[code]$ javac jdbc/teste/TestaConexao.java
jdbc/teste/TestaConexao.java:11: unreported exception java.sql.SQLException; must be caught or declared to be thrown
Connection con = ControladordeConexoes.getConnection(); <-

jdbc/teste/TestaConexao.java:13: unreported exception java.sql.SQLException; must be caught or declared to be thrown
con.close(); <-
2 errors[/code]

$ javac jdbc/ControladordeConexoes.java
$ javac jdbc/teste/TestaConexao.java

$ cat jdbc/teste/TestaConexao.java

[code]package jdbc.teste;
import jdbc.*;

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

public class TestaConexao {

    public static void main(String [] args){
            try{
                    Connection con = ControladordeConexoes.getConnection();
                    System.out.println("Conectado!");
                    con.close();
            }catch (java.sql.SQLException e) {
                    e.printStackTrace();
            }
    }

}[/code]

$ java jdbc/teste/TestaConexao
java.sql.SQLException: com.mysql.jdbc.Driver
at jdbc.ControladordeConexoes.getConnection(ControladordeConexoes.java:20)
at jdbc.teste.TestaConexao.main(TestaConexao.java:11)

Pronto…

Valeu peczenyj funcionou!!!

Brigadão :slight_smile:

:smiley:

Aff Galera de novo eu com o mesmo problema só que agora estou fazendo o import da package mas mesmo assim ele me diz o tal "cannot be resolved agora para a classe Contato.
Segue a classe que faço o import e chamao Contato:

package jdbc.dao;

import jdbc.*;
import java.sql.Connection;
import java.util.Scanner;
import java.sql.SQLException;


public class JDBCInsertDAO {
	public static void main(String[] args){
		try{
			Connection con = ControladordeConexoes.getConnection();
			System.out.println("Conectado!");
			
			Scanner teclado= new Scanner (System.in);
			System.out.println("Enter com os dados:");
			
			Contato contato=new Contato();
			Contato.setNome(teclado.next());
			Contato.setEmail(teclado.next());
			Contato.setEndereco(teclado.next());
			
			ContatoDao dao = new ContatoDao(con);
			dao.adiciona(contato);
			
			System.out.println("Gravado!");
			
			con.close();
		}
		catch (SQLException e){
			e.printStackTrace();
		}
}
}

Essa é a classe Contato:

package jdbc.modelo;


public class Contato {
	
	private int id;
	private String nome;
	private String email;
	private String endereco;
	

	public int getId() 
  	{	return this.id ;
  	}

  	public String getNome() 
  	{	return this.nome;
  	}

  	public String getEmail() 
  	{	return this.email;
  	}
  	
  	public String getEndereco() 
  	{	return this.endereco;
  	}

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

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

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

  	
}

Dayse,

Creio que seu import deva ser

import jdbc.model.*;

Sempre costumo, para evitar isso, realizar o import da classe direto, assim acredito que fica mais facil verificar este tipo de erro

[code]
import jdbc.model.

Abraços!!

Não pode ser apenas isso, porque se coloco
import jdbc.modelo;

ao lado aparece a informação: “Only a type can be imported. jdbc.modelo resolves to a package”, se tiro e deixo só:
import jdbc.*;

continua sendo informado que: “Contato cannot be resolved”

Estranho que o meu Projeto no Eclipse tb está com um x vermelho, será que é só por causas dessas classes que estão com problemas?