X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fdatabase%2FDatabaseConnection.java;h=6bed8bd979c2f62aec1b7922779bed3048716063;hb=005ed4d2e8fa57b7ede403a310771c9fdf4a9578;hp=9f9193a7ad0f2fedafaa45fccb415fd22e33b8d2;hpb=c6ea5080ed8b31fb9844e2fad80b352d6a80bdf1;p=gigi.git diff --git a/src/org/cacert/gigi/database/DatabaseConnection.java b/src/org/cacert/gigi/database/DatabaseConnection.java index 9f9193a7..6bed8bd9 100644 --- a/src/org/cacert/gigi/database/DatabaseConnection.java +++ b/src/org/cacert/gigi/database/DatabaseConnection.java @@ -44,7 +44,8 @@ public class DatabaseConnection { ensureOpen(); PreparedStatement statement = statements.get(query); if (statement == null) { - statement = c.prepareStatement(query); + statement = c.prepareStatement(query, + Statement.RETURN_GENERATED_KEYS); statements.put(query, statement); } return statement; @@ -80,10 +81,30 @@ public class DatabaseConnection { public static DatabaseConnection getInstance() { return instances.get(); } + public static boolean isInited() { + return credentials != null; + } public static void init(Properties conf) { if (credentials != null) { throw new Error("Re-initiaizing is forbidden."); } credentials = conf; } + public void beginTransaction() throws SQLException { + c.setAutoCommit(false); + } + public void commitTransaction() throws SQLException { + c.commit(); + c.setAutoCommit(true); + } + public void quitTransaction() { + try { + if (!c.getAutoCommit()) { + c.rollback(); + c.setAutoCommit(true); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } }