从多个方法GET回滚mysql事务

时间:2014-10-15 18:28:19

标签: java mysql gwt

我正在试图弄清楚如何从多种方法回滚提交。我想做类似以下的事情(为了简洁而编辑)

public void testMultipleMethodRollback() throws DatabaseException {
    Connection conn = connect();
    fakeMethodRollback1();
    fakeMethodRollback2();
    try {
        conn.commit();
    } catch (SQLException e) {
        e.printStackTrace();
        try {
            conn.rollback();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
}

目前我的所有方法都是这样格式化的

public void fakeMethodRollback1() throws DatabaseException {
    Connection con = connect();
    PreparedStatement ps = null;
    ResultSet rs = null;
    // insert some queries
    try {
        String query = "some query";
        ps = conn.prepareStatement(query);
        ps.executeUpdate(query);
        query = "some query";
        ps = conn.prepareStatement(query);
        ps.executeUpdate(query);
        con.commit();
    } catch (SQLException e) {
        try {
            conn.rollback();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
        throw new DatabaseException(e);
    } finally {
        close(rs, ps, conn);
    }
}

因为我希望能够独立使用其他方法,如何在一个方法失败的情况下进行回滚,其他方法将回滚?我担心我的全班设置错误或至少错误,如果没有重大工作就无法完成。我无法更改返回连接的方法,因为我的方法的一半是get方法,它们已经返回其他数据。有什么想法吗?

0 个答案:

没有答案