dis/02/src/de/dis2011/data/DB2ConnectionManager.java

75 lines
1.8 KiB
Java

package de.dis2011.data;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URISyntaxException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
/**
* Einfaches Singleton zur Verwaltung von Datenbank-Verbindungen.
*
* @author Michael von Riegen
* @version April 2009
*/
class DB2ConnectionManager {
// instance of Driver Manager
private static DB2ConnectionManager _instance = null;
// DB2 connection
private Connection _con;
/**
* Erzeugt eine Datenbank-Verbindung
*/
private DB2ConnectionManager() {
try {
// Holen der Einstellungen aus der db2.properties Datei
Properties properties = new Properties();
URL url = ClassLoader.getSystemResource("db2.properties");
FileInputStream stream = new FileInputStream(new File(url.toURI()));
properties.load(stream);
stream.close();
String jdbcUser = properties.getProperty("jdbc_user");
String jdbcPass = properties.getProperty("jdbc_pass");
String jdbcUrl = properties.getProperty("jdbc_url");
// Verbindung zur DB2 herstellen
Class.forName("com.ibm.db2.jcc.DB2Driver");
_con = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPass);
} catch (IOException | ClassNotFoundException | SQLException | URISyntaxException e){
e.printStackTrace();
}
}
/**
* Liefert Instanz des Managers
*
* @return DB2ConnectionManager
*/
static DB2ConnectionManager getInstance() {
if (_instance == null) {
_instance = new DB2ConnectionManager();
}
return _instance;
}
/**
* Liefert eine Verbindung zur DB2 zurC<ck
*
* @return Connection
*/
Connection getConnection() {
return _con;
}
}