W jaki sposób napisac klasę odpowiedzialną za połączenie JDBC z bazą danych w najlepszy sposób? Osobiście mam zamiar stworzyć prywatną metodę zwracającą obiekt Connection odpowiedzialną za połączenie, oraz publiczne pole zawierające zwracaną wartość. To jedno pole mam zamiar wykorzystywać we wszystkich moich połączeniach. Czy to dobre rozwiązanie? Przy okazji pytanie: dlaczego w linii ze zmienną POLACZENIE wyskakuje mi błąd o braku złapanych wyjątków?
package klasySilnika;
import java.sql.*;
import java.io.*;
import java.util.*;
public class UstanowPolaczenie
{
public static Connection POLACZENIE = UstanowPolaczenie();
private static Connection UstanowPolaczenie() throws IOException, SQLException, ClassNotFoundException
{
try
{
Class.forName("org.postgresql.Driver");
Properties props = new Properties();
FileInputStream in = new FileInputStream("A:/Projekty/Arch/src/klasySilnika/bazaDanych.properties");
props.load(in);
in.close();
String drivers = props.getProperty("jdbc.drivers");
if(drivers != null) System.setProperty("jdbc.drivers", drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.username");
String password = props.getProperty("jdbc.password");
return DriverManager.getConnection(url, username,password);
}
catch (ClassNotFoundException e)
{
return null;
}
catch(IOException e)
{
return null;
}
catch(SQLException e)
{
return null;
}
}
}
Gdzieś spotkałem się z opinią, że lepiej używać ConnectionFactory. Na jakie inne aspekty warto zwrócić uwagę przy pisaniu klasy odpowiedzialnej za połączenie JDBC?
Shalom