Duda en método de conexión JDBC
Publicado por Juan Antonio (3 intervenciones) el 21/09/2013 23:40:44
Hola, estoy retomando un poco la programación en Java y recientemente he hecho una conexión a una base de datos MySQL. He hecho una clase y funciona perfectamente, no obstante he mirado por internet y he encontrado una clase llamada MySQLConec y dentro de ella este método:
public MySQLConec conectar(){
try{
Class.forName(MYSQL_DRIVER);
setConexion(DriverManager.getConnection(SERVER,USER,PASSWORD));
if(conexion != null)
System.out.println("Conexion con la base de datos establecida.");
else
System.out.println("no se ha podido establecer la conexion.");
}catch(Exception ex){
ex.printStackTrace();
}
return this;
}
la mía es más o menos así:
public void conectar(){
try{
Class.forName(MYSQL_DRIVER);
setConexion(DriverManager.getConnection(SERVER,USER,PASSWORD));
if(conexion != null)
System.out.println("Conexion con la base de datos establecida.");
else
System.out.println("no se ha podido establecer la conexion.");
}catch(Exception ex){
ex.printStackTrace();
}
}
La pregunta que tengo es, ¿Aporta alguna ventaja la primera?, no entiendo muy bien por qué el método se llama igual que la clase y qué devuelve el this, evidentemente es el objeto instanciado pero no acabo de entender la necesidad de hacer esto.
Gracias de antemano.
public MySQLConec conectar(){
try{
Class.forName(MYSQL_DRIVER);
setConexion(DriverManager.getConnection(SERVER,USER,PASSWORD));
if(conexion != null)
System.out.println("Conexion con la base de datos establecida.");
else
System.out.println("no se ha podido establecer la conexion.");
}catch(Exception ex){
ex.printStackTrace();
}
return this;
}
la mía es más o menos así:
public void conectar(){
try{
Class.forName(MYSQL_DRIVER);
setConexion(DriverManager.getConnection(SERVER,USER,PASSWORD));
if(conexion != null)
System.out.println("Conexion con la base de datos establecida.");
else
System.out.println("no se ha podido establecer la conexion.");
}catch(Exception ex){
ex.printStackTrace();
}
}
La pregunta que tengo es, ¿Aporta alguna ventaja la primera?, no entiendo muy bien por qué el método se llama igual que la clase y qué devuelve el this, evidentemente es el objeto instanciado pero no acabo de entender la necesidad de hacer esto.
Gracias de antemano.
Valora esta pregunta
0