Problemas com ConnectionFactory

Olá pessoal.
Estou com um problema serio…pode ser que a solução seja muito óbvia mas não estou conseguindo enxergar.
estou estudando jdbc e fiz uma classe que seria uma “fabrica de conexoes” o codigo está logo abaixo:

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

public class ConnectionFactory {
	public static Connection getConnection() throws SQLException {
		try {
			Class.forName("jdbc:mysql://localhost/teste");
			return DriverManager.getConnection("com.mysql.jdbc.Driver", "root","******");

		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}

}

Até aqui tudo bem ta tudo certinho “pelo menos é o que eu acho” o problema é na classe main
quando eu tento instanciar uma conexão ele fica dando um erro louco no eclipse “linha vermelha” :
-ConnectionFactory cannot be resolved to a type
-Syntax error on token(s), misplace construct(s)

A Classe main esta sendo colocada abaixo:

import com.mysql.jdbc.Connection;

public class Teste {

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

	}

Seu eu tento rodar o seguinte erro é apresentado:

Error occurred during initialization of VM
Could not reserve enough space for object heap

Se alguem puder me dar um auxilio ai me esclarecendo eu seria muito grato!
Um grande abraço a todos.
Att Cássio Tessaro de Oliveira.

Campeao, primeiro vc precisa trocar a definicao da classe com a string de conexao

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/teste", "root","******");

		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}

}

como seu metodo está estatico, vc nao precisa instanciar a classe

import com.mysql.jdbc.Connection;

public class Teste {

	public static void main(String[] args) throws SQLException {
		Connection conexao = ConnectionFactory.getConnection();
					
		}

	}

Isso deve fazer seu codigo funcionar. Depois vc soh precisa ajustar o tratamento de excessoes :slight_smile:

abraços!

Salve mynameisflaw!
Cara eu troquei e ajustei como as classes como tu tinha dito mas o erro persiste …
Segue ambas…

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/teste","root","**");

		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}

}
import java.sql.SQLException;

public class Teste {

	public static void main(String[] args)throws SQLException {
		Connection conexao = new ConnectionFactory.getConnection();
					
		}

	}

A unica coisa que mudou foi a mensagem de erro na linha vermelha do Eclipse…
-ConnectionFactory.getConnection() cannot be resolved to a type
-Connection cannot be resolved to a type

As classes estao em um mesmo pacote default…isso afeta em alguma coisa?

Poutz vida de programador Java não é mole nao!
uhauhahuahuahua
Cara desde ja Grato um abraço!

ahahahah :stuck_out_tongue:
olha soh pra rodar, tenta assim:


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

public class Teste {

	public static void main(String[] args)throws SQLException {
		Connection conexao = ConnectionFactory.getConnection();
					
		}

	}


abraços!

uhahuauhauhahuahua…
Cara eu ja tinha tentado isso…
blza ta certo eu que postei o codigo errado…
so queeeee o problema ta sendo no ConnectionFactory.getConnection
diz que : Cannot be resolved to a type.
Eu preciso importar a classe mesmo elas estando no mesmo pacote default??
Será que é isso ?
um abraço!

uai… tem erro nao :slight_smile:

se estão no mesmo pacote vc nao precisa importar :wink:

uhauhauhauhauha
aaaaaaaaa
Cara olha so que eu fiz


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/teste","root","***");

		} catch (ClassNotFoundException e) {
			throw new SQLException(e.getMessage());
		}
	}

}
import java.sql.SQLException;
import java.sql.Connection;
public class Teste {

	public static void main(String[] args)throws SQLException {
		try{
		ConnectionFactory cf = new ConnectionFactory();
		Connection conexao = cf.getConnection();
		System.out.println("Conectou!");
		}catch(SQLException e ){
			System.out.println("Erro: "+ e.getLocalizedMessage());
		}
			}

	}

so que agora diz que getConnection() é um metodo statico e precisa ser acessado de uma maneira statica.

Cara nao sei mais o que fazer…

Cara Resolvido o problema…por algum motivo nao tinha nada de errado
so que o eclipse tava dizendo que tava errado…
dai no fim so dava aquela mensagem : alguma coisa do tipo que nao foi possivel iniciar a JVM por falta de espaço em memoria dai reiniciei o pc e tudofuincionou.
um abraço e valeu!