From 23c5eb1a48a2955c7bec4219a8f7e3b74e4669f0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Felix=20D=C3=B6rre?= Date: Sat, 21 Jun 2014 19:40:17 +0200 Subject: [PATCH] add simple Database connection --- config/.gitignore | 1 + config/sql.properties.template | 4 ++ .../gigi/database/DatabaseConnection.java | 55 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 config/sql.properties.template create mode 100644 src/org/cacert/gigi/database/DatabaseConnection.java diff --git a/config/.gitignore b/config/.gitignore index cc6b0ea7..ef8da91c 100644 --- a/config/.gitignore +++ b/config/.gitignore @@ -1,3 +1,4 @@ keystore.pkcs12 cacerts.jks +sql.properties diff --git a/config/sql.properties.template b/config/sql.properties.template new file mode 100644 index 00000000..82574065 --- /dev/null +++ b/config/sql.properties.template @@ -0,0 +1,4 @@ +driver=com.mysql.jdbc.Driver +url= +user= +password= diff --git a/src/org/cacert/gigi/database/DatabaseConnection.java b/src/org/cacert/gigi/database/DatabaseConnection.java new file mode 100644 index 00000000..6d505d86 --- /dev/null +++ b/src/org/cacert/gigi/database/DatabaseConnection.java @@ -0,0 +1,55 @@ +package org.cacert.gigi.database; + +import java.io.FileInputStream; +import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.util.HashMap; +import java.util.Properties; + +public class DatabaseConnection { + Connection c; + HashMap statements = new HashMap(); + static Properties credentials = new Properties(); + static { + try { + credentials.load(new FileInputStream("config/sql.properties")); + } catch (IOException e) { + e.printStackTrace(); + } + } + public DatabaseConnection() { + try { + Class.forName(credentials.getProperty("driver")); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + try { + c = DriverManager.getConnection(credentials.getProperty("url"), + credentials.getProperty("user"), + credentials.getProperty("password")); + } catch (SQLException e) { + e.printStackTrace(); + } + + } + public PreparedStatement prepare(String query) throws SQLException { + PreparedStatement statement = statements.get(query); + if (statement == null) { + statement = c.prepareStatement(query); + statements.put(query, statement); + } + return statement; + } + static ThreadLocal instances = new ThreadLocal() { + @Override + protected DatabaseConnection initialValue() { + return new DatabaseConnection(); + } + }; + public static DatabaseConnection getInstance() { + return instances.get(); + } +} -- 2.39.2