Kryptaesthesie
Erfahrenes Mitglied
Guten Morgen,
mich würde mal interessieren, wie ihr das macht.
Wenn ich eine Klasse für die Datenbankverbindung habe, dann habe ich da verschiedene Methoden mit unterschiedlichen Rückgabetypen.
Manche geben nur einen String, manche Integer, manche eine Liste, wenn mehrere Datensätze, usw.
Nun nutze ich auch einen Connection-Pool.
Würdet ihr das auch so machen, dass ihr in jeder Methode den gleichen Ablauf stehen habt: Connection, Statement, usw. holen und dann wieder schließen, usw.
Oder gliedert ihr sowas noch irgendwie aus?
Hier mal ein Beispiel einer der Methoden:
mich würde mal interessieren, wie ihr das macht.
Wenn ich eine Klasse für die Datenbankverbindung habe, dann habe ich da verschiedene Methoden mit unterschiedlichen Rückgabetypen.
Manche geben nur einen String, manche Integer, manche eine Liste, wenn mehrere Datensätze, usw.
Nun nutze ich auch einen Connection-Pool.
Würdet ihr das auch so machen, dass ihr in jeder Methode den gleichen Ablauf stehen habt: Connection, Statement, usw. holen und dann wieder schließen, usw.
Oder gliedert ihr sowas noch irgendwie aus?
Hier mal ein Beispiel einer der Methoden:
Code:
public String getString(String sql) {
Connection conn = null;
Statement stmt = null;
ResultSet rset = null;
String str = "";
try {
conn = this.dataSource.getConnection(); // eine Verbindung aus dem Pool holen
stmt = conn.createStatement();
rset = stmt.executeQuery(sql);
// gesuchten Wert auslesen
if(rset.next()) {
str = rset.getString(1);
}
} catch(Throwable t) {
logger.error("Fehler in getString('" + sql + "')", t);
} finally {
try { rset.close(); } catch(Exception e) { }
try { stmt.close(); } catch(Exception e) { }
try { conn.close(); } catch(Exception e) { }
}
return (str != null ? str : "");
}