[FECHADO]Colocar duas conexões de banco numa classe só!

Olá amigos, Eu tenho um pequeno exemplo de uma Connection Factory e queria colocar duas ou três conexões nessa conection factory como faço ?

public class ConnectionFactory {

    public Connection getConnection(){
        try{
        return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","system","admin");
               
    }catch(SQLException e){
        throw new RuntimeException(e);
    }
  }

}

Depois para chamar essa conexao eu utilizo o seguinte

ConnectionFactory conn = new ConnectionFactory();

para instanciar tenho que fazer o mesmo?

fico no aguardo amigos!!!

Sobrecarga de métodos, não funciona?

Como assim?!

mas gostaria de tipo colocar tantas conexoes fossem possivel no ConnectionFactory, depois só chamaria a conexao que gostaria!

Pesquise por sobrecarga de métodos.

Seria isso aqui!!?

e como faço pra chamar em outra classe

public class NewClass1 { 
    
     String endereco;
     String usuario;
     String senha;

    public static Connection Conexao(String endereco, String usuario, String senha) throws SQLException
    {
        return DriverManager.getConnection(endereco,usuario,senha);
    }
      
    public static Connection Conexao2(String endereco, String usuario, String senha) throws SQLException
    {
        return DriverManager.getConnection(endereco,usuario,senha);
    } 
      
}  

Se você muda o nome do método, não há sobrecarga.

Pesquise o conceito de sobrecarga…

mais isso nao vai funcionar pro que eu quero

Você precisa implementar o design pattern Factory.

Edit: Link importante: Connection Factory

g4j Cara nao entendi muito bem!! pois no exemplo acima ja esta feito o ConnectionFactory certinho!
como posso colocar duas conexoes ali!!?

[quote=snowblacksoul]g4j Cara nao entendi muito bem!! pois no exemplo acima ja esta feito o ConnectionFactory certinho!
como posso colocar duas conexoes ali!!?
[/quote]

Apesar do nome classe ser ConnectionFactory, tua implementação não é. Dê uma olhada no link que te passei, leia sobre o design pattern que você vai entender.

esta caindo no google é isso mesmo

g4j acho que achei o que vc queria me passar
veja se é isso mesmo por favor!!

public class ConnectionFactory
{
     public static Connection createConnection(ConnectionType connectionType, String ipAddr, Integer port)
    {
           //Some error checking
         switch(connectionType)
         {   
             case TCP:
                  return createTcpConnection(ipAddr, port);
             case UDP:
                  return createUdpConnection(ipAddr, port);
             case RTP:
                  return createRtpConnection(ipAddr, port);
             case SCTP:
                  return createRtpConnection(ipAddr, port);
             default:
                  break;
         }
    }

    // TcpConnection, RtpConnection, SctpConnection and UdpConnection implement interface Connection
    public Connection createTcpConnection()
    {
        Connection connection = new TcpConnection();
         .....
         .....
         return connection;
    }

    public Connection createUdpConnection()
    {
        Connection connection = new UdpConnection();
        .....
        .....
        return connection;
    }

    ....
    ....
}

Isso mesmo!

Edit: Mas dá pra fazer melhor usando classes para cada conexão ao invés de métodos

g4j Po cara valeu mesmo grande!!! brigadão, aprendi mas uma funcionalidade!!!
fica com Deus grande!!

abraços!!

g4j poderia me ajudar nisso, como possa fazer!!?

Que nada cara. O forum é pra isso!

[quote=snowblacksoul][quote]
Isso mesmo!

Edit: Mas dá pra fazer melhor usando classes para cada conexão ao invés de métodos
[/quote]

g4j poderia me ajudar nisso, como possa fazer!!?[/quote]

não tenho como codificar nada aqui. Mas em suma, crie uma interface com um método para retornar a conexão. Daí você cria as tuas implementações e chama em cada item do switch.

valeuuuuu brigadão!!!

Então. Em tempo, consegui rabiscar alguma coisa aqui.

No caso de conexão, já temos o tipo de instância a retornar, que é java.sql.Connection. Então acho válido usar métodos para retornar:

public class ConnectionFactory {
	public static Connection getConnection(ConnectionType type) {
		switch (type) {
			case ORACLE: {
				return getOracleConnection();
			}
			case SQLSERVER: {
				return getSQLServerConnection();
			}
	
			default:
				throw new RuntimeException("Funcionalidade ainda não implementada");
		}
		
	}

	private Connection getSQLServerConnection() {

	}

	private Connection getOracleConnection() {

	}
}
public enum ConnectionType {
	SQLSERVER, ORACLE, XML, TXT 

}

Acho que é isso!