Added connection manager

Signed-off-by: Jim Martens <github@2martens.de>
This commit is contained in:
Jim Martens 2017-06-22 14:04:50 +02:00
parent b007ed2d4f
commit a6a743f7d3
1 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,73 @@
package de.dis2017.data.db;
import java.io.File;
import java.io.FileInputStream;
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;
/**
* Singleton for management of database connections
*
* @author Michael von Riegen
* @version April 2009
*/
class DB2ConnectionManager {
// instance of Driver Manager
private static DB2ConnectionManager _instance = null;
// DB2 connection
private Connection _con;
/**
* Initializes database connection
*/
private DB2ConnectionManager() {
try {
// load properties from db2.properties file
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");
// created connection to DB2 database
Class.forName("com.ibm.db2.jcc.DB2Driver");
_con = DriverManager.getConnection(jdbcUrl, jdbcUser, jdbcPass);
} catch (IOException | ClassNotFoundException | SQLException | URISyntaxException e) {
e.printStackTrace();
}
}
/**
* Returns the instance of the connection manager
*
* @return DB2ConnectionManager
*/
static DB2ConnectionManager getInstance() {
if (_instance == null) {
_instance = new DB2ConnectionManager();
}
return _instance;
}
/**
* Returns the connection to the DB2 database
*
* @return Connection
*/
Connection getConnection() {
return _con;
}
}